nio4r 2.5.5 → 2.5.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/workflow.yml +0 -2
- data/CHANGES.md +17 -0
- data/Gemfile +0 -1
- data/ext/libev/ev.c +4 -18
- data/ext/libev/ev_iouring.c +2 -2
- data/ext/nio4r/extconf.rb +4 -0
- data/lib/nio/version.rb +1 -1
- data/lib/nio.rb +3 -3
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3f8bda8397f00743e7ca6814df9ae0072197fe4a1c9ba49efa74c8b44148ee71
|
4
|
+
data.tar.gz: c3fb1c470e4d378346f67b0c07fb7ffe4fe5527339097297a3b93ac950202d0b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 51c13b6c08c436b692b0e858abc704d1e682667a302c55e43635a043daf2b26b8faff4ad67c1ea02ca2d619efad776903497b15ad67d2dd22894dd82a598cd49
|
7
|
+
data.tar.gz: '08297c9a051369fd39ad02489ddeb35595f1fbba313c3516d24f60e4e4e46db41307da90075a5a3b11ac377ad410bf908719d585ad1e3ba1b7ba867d520e4c0c'
|
data/CHANGES.md
CHANGED
@@ -1,3 +1,17 @@
|
|
1
|
+
## 2.5.5 (2021-02-05)
|
2
|
+
|
3
|
+
* [#256](https://github.com/socketry/nio4r/pull/256)
|
4
|
+
Use libev 4.33, featuring experimental `io_uring` support.
|
5
|
+
([@jcmfernandes])
|
6
|
+
|
7
|
+
* [#260](https://github.com/socketry/nio4r/pull/260)
|
8
|
+
Workaround for ARM-based macOS Ruby: Use pure Ruby for M1, since the native extension is crashing on M1 (arm64).
|
9
|
+
([@jasl])
|
10
|
+
|
11
|
+
* [#252](https://github.com/socketry/nio4r/pull/252)
|
12
|
+
JRuby: Fix javac -Xlint warnings
|
13
|
+
([@headius])
|
14
|
+
|
1
15
|
## 2.5.4 (2020-09-16)
|
2
16
|
|
3
17
|
* [#251](https://github.com/socketry/nio4r/issues/251)
|
@@ -265,3 +279,6 @@ Possible bug with Ruby >= 2.7.0 and `GC.compact`
|
|
265
279
|
[@eregon]: https://github.com/eregon
|
266
280
|
[@olleolleolle]: https://github.com/olleolleolle
|
267
281
|
[@boazsegev]: https://github.com/boazsegev
|
282
|
+
[@headius]: https://github.com/headius
|
283
|
+
[@jasl]: https://github.com/jasl
|
284
|
+
[@jcmfernandes]: https://github.com/jcmfernandes
|
data/Gemfile
CHANGED
data/ext/libev/ev.c
CHANGED
@@ -354,19 +354,11 @@
|
|
354
354
|
#endif
|
355
355
|
|
356
356
|
#ifndef EV_USE_LINUXAIO
|
357
|
-
# if __linux /* libev currently assumes linux/aio_abi.h is always available on linux */
|
358
|
-
# define EV_USE_LINUXAIO 0 /* was: 1, always off by default */
|
359
|
-
# else
|
360
357
|
# define EV_USE_LINUXAIO 0
|
361
|
-
# endif
|
362
358
|
#endif
|
363
359
|
|
364
360
|
#ifndef EV_USE_IOURING
|
365
|
-
# if __linux /* later checks might disable again */
|
366
|
-
# define EV_USE_IOURING 1
|
367
|
-
# else
|
368
361
|
# define EV_USE_IOURING 0
|
369
|
-
# endif
|
370
362
|
#endif
|
371
363
|
|
372
364
|
#ifndef EV_USE_INOTIFY
|
@@ -475,14 +467,6 @@
|
|
475
467
|
# define EV_USE_INOTIFY 0
|
476
468
|
#endif
|
477
469
|
|
478
|
-
#if __linux && EV_USE_IOURING
|
479
|
-
# include <linux/version.h>
|
480
|
-
# if LINUX_VERSION_CODE < KERNEL_VERSION(4,14,0)
|
481
|
-
# undef EV_USE_IOURING
|
482
|
-
# define EV_USE_IOURING 0
|
483
|
-
# endif
|
484
|
-
#endif
|
485
|
-
|
486
470
|
#if !EV_USE_NANOSLEEP
|
487
471
|
/* hp-ux has it in sys/time.h, which we unconditionally include above */
|
488
472
|
# if !defined _WIN32 && !defined __hpux
|
@@ -3163,8 +3147,10 @@ ev_recommended_backends (void) EV_NOEXCEPT
|
|
3163
3147
|
/* only select works correctly on that "unix-certified" platform */
|
3164
3148
|
flags &= ~EVBACKEND_KQUEUE; /* horribly broken, even for sockets */
|
3165
3149
|
flags &= ~EVBACKEND_POLL; /* poll is based on kqueue from 10.5 onwards */
|
3166
|
-
#
|
3167
|
-
|
3150
|
+
#endif
|
3151
|
+
|
3152
|
+
#if !defined(__NetBSD__) && !defined(__APPLE__)
|
3153
|
+
/* kqueue is borked on everything but netbsd and osx >= 10.12.2 apparently */
|
3168
3154
|
/* it usually doesn't work correctly on anything but sockets and pipes */
|
3169
3155
|
flags &= ~EVBACKEND_KQUEUE;
|
3170
3156
|
#endif
|
data/ext/libev/ev_iouring.c
CHANGED
@@ -287,7 +287,7 @@ iouring_sqe_get (EV_P)
|
|
287
287
|
}
|
288
288
|
|
289
289
|
inline_size
|
290
|
-
|
290
|
+
void
|
291
291
|
iouring_sqe_submit (EV_P_ struct io_uring_sqe *sqe)
|
292
292
|
{
|
293
293
|
unsigned idx = sqe - EV_SQES;
|
@@ -313,7 +313,7 @@ iouring_tfd_cb (EV_P_ struct ev_io *w, int revents)
|
|
313
313
|
|
314
314
|
/* called for full and partial cleanup */
|
315
315
|
ecb_cold
|
316
|
-
static
|
316
|
+
static void
|
317
317
|
iouring_internal_destroy (EV_P)
|
318
318
|
{
|
319
319
|
close (iouring_tfd);
|
data/ext/nio4r/extconf.rb
CHANGED
@@ -27,5 +27,9 @@ $defs << "-DEV_STANDALONE" # prevent libev from assuming "config.h" exists
|
|
27
27
|
|
28
28
|
CONFIG["optflags"] << " -fno-strict-aliasing" unless RUBY_PLATFORM =~ /mswin/
|
29
29
|
|
30
|
+
if RUBY_PLATFORM =~ /darwin/
|
31
|
+
$DLDFLAGS.gsub!(/\-arch\s+[^\s]+/, "")
|
32
|
+
end
|
33
|
+
|
30
34
|
dir_config "nio4r_ext"
|
31
35
|
create_makefile "nio4r_ext"
|
data/lib/nio/version.rb
CHANGED
data/lib/nio.rb
CHANGED
@@ -25,9 +25,9 @@ module NIO
|
|
25
25
|
end
|
26
26
|
|
27
27
|
# M1 native extension is crashing on M1 (arm64):
|
28
|
-
if RUBY_PLATFORM =~ /darwin/ && RUBY_PLATFORM =~ /arm64/
|
29
|
-
|
30
|
-
end
|
28
|
+
# if RUBY_PLATFORM =~ /darwin/ && RUBY_PLATFORM =~ /arm64/
|
29
|
+
# return true
|
30
|
+
# end
|
31
31
|
|
32
32
|
return false
|
33
33
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nio4r
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.5.
|
4
|
+
version: 2.5.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tony Arcieri
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-08-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -109,8 +109,8 @@ licenses:
|
|
109
109
|
metadata:
|
110
110
|
bug_tracker_uri: https://github.com/socketry/nio4r/issues
|
111
111
|
changelog_uri: https://github.com/socketry/nio4r/blob/master/CHANGES.md
|
112
|
-
documentation_uri: https://www.rubydoc.info/gems/nio4r/2.5.
|
113
|
-
source_code_uri: https://github.com/socketry/nio4r/tree/v2.5.
|
112
|
+
documentation_uri: https://www.rubydoc.info/gems/nio4r/2.5.8
|
113
|
+
source_code_uri: https://github.com/socketry/nio4r/tree/v2.5.8
|
114
114
|
wiki_uri: https://github.com/socketry/nio4r/wiki
|
115
115
|
post_install_message:
|
116
116
|
rdoc_options: []
|
@@ -127,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
127
|
- !ruby/object:Gem::Version
|
128
128
|
version: '0'
|
129
129
|
requirements: []
|
130
|
-
rubygems_version: 3.
|
130
|
+
rubygems_version: 3.2.22
|
131
131
|
signing_key:
|
132
132
|
specification_version: 4
|
133
133
|
summary: New IO for Ruby
|