nio4r 2.5.5 → 2.5.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|