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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 83e0080af4a88a697820ce40d34e6adbd886c6ebbcf9c75829c04e2febea5058
4
- data.tar.gz: 7942b6d643f2dc26d0bb7e2c96deb51b697c13df2c3ccc4f972c09df856e3694
3
+ metadata.gz: 3f8bda8397f00743e7ca6814df9ae0072197fe4a1c9ba49efa74c8b44148ee71
4
+ data.tar.gz: c3fb1c470e4d378346f67b0c07fb7ffe4fe5527339097297a3b93ac950202d0b
5
5
  SHA512:
6
- metadata.gz: 359600dd9ee73684a9b511df14fd5367e92dc0c0845c4195e436cc27fb82474bfd49aee4698e617bb1e0b5d7a9061efa3a10bdd9ec30e2455988376a09e2e49d
7
- data.tar.gz: 6ad1095616c63f9763d787ae1bcd724cd08dbf834c4c9feb3a1abb2af75322be1fe3a875481eadd155404d0e34cb3c758ea94fdc2c50ae0136a24a541e68df83
6
+ metadata.gz: 51c13b6c08c436b692b0e858abc704d1e682667a302c55e43635a043daf2b26b8faff4ad67c1ea02ca2d619efad776903497b15ad67d2dd22894dd82a598cd49
7
+ data.tar.gz: '08297c9a051369fd39ad02489ddeb35595f1fbba313c3516d24f60e4e4e46db41307da90075a5a3b11ac377ad410bf908719d585ad1e3ba1b7ba867d520e4c0c'
@@ -19,8 +19,6 @@ jobs:
19
19
  include:
20
20
  - { os: ubuntu-16.04, ruby: 3.0 }
21
21
  - { os: ubuntu-16.04, ruby: 2.4 }
22
- - { os: macos-11.0 , ruby: 3.0 }
23
- - { os: macos-11.0 , ruby: 2.4 }
24
22
  exclude:
25
23
  - { os: windows-2019, ruby: head }
26
24
  - { os: windows-2019, ruby: jruby }
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
@@ -7,7 +7,6 @@ gemspec
7
7
  gem "jruby-openssl" if defined? JRUBY_VERSION
8
8
 
9
9
  group :development do
10
- gem "guard-rspec", require: false
11
10
  gem "pry", require: false
12
11
  end
13
12
 
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
- #elif !defined(__NetBSD__)
3167
- /* kqueue is borked on everything but netbsd apparently */
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
@@ -287,7 +287,7 @@ iouring_sqe_get (EV_P)
287
287
  }
288
288
 
289
289
  inline_size
290
- struct io_uring_sqe *
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 int
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module NIO
4
- VERSION = "2.5.5"
4
+ VERSION = "2.5.8"
5
5
  end
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
- return true
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.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-02-05 00:00:00.000000000 Z
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.5
113
- source_code_uri: https://github.com/socketry/nio4r/tree/v2.5.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.1.2
130
+ rubygems_version: 3.2.22
131
131
  signing_key:
132
132
  specification_version: 4
133
133
  summary: New IO for Ruby