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 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