Hello community,

here is the log from the commit of package rubygem-nio4r for openSUSE:Factory 
checked in at 2017-06-02 10:33:10
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rubygem-nio4r (Old)
 and      /work/SRC/openSUSE:Factory/.rubygem-nio4r.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rubygem-nio4r"

Fri Jun  2 10:33:10 2017 rev:3 rq:499915 version:2.1.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/rubygem-nio4r/rubygem-nio4r.changes      
2017-01-15 11:19:10.161130066 +0100
+++ /work/SRC/openSUSE:Factory/.rubygem-nio4r.new/rubygem-nio4r.changes 
2017-06-02 10:33:50.735553748 +0200
@@ -1,0 +2,24 @@
+Tue May 30 05:17:06 UTC 2017 - [email protected]
+
+- updated to version 2.1.0
+ see installed CHANGES.md
+
+  ## 2.1.0 (2017-05-28)
+  
+  * [#130](https://github.com/socketry/nio4r/pull/130)
+    Add -fno-strict-aliasing flag when compiling C ext.
+    ([@junaruga])
+    
+  * [#146](https://github.com/socketry/nio4r/pull/146)
+    Use non-blocking select when a timeout of 0 is given.
+    ([@tarcieri])
+  
+  * [#147](https://github.com/socketry/nio4r/pull/147)
+    Update to libev 4.24.
+    ([@tarcieri])
+  
+  * [#148](https://github.com/socketry/nio4r/pull/148)
+    Switch to the libev 4 API internally.
+    ([@tarcieri])
+
+-------------------------------------------------------------------

Old:
----
  nio4r-2.0.0.gem

New:
----
  nio4r-2.1.0.gem

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rubygem-nio4r.spec ++++++
--- /var/tmp/diff_new_pack.EAODL0/_old  2017-06-02 10:33:52.155353138 +0200
+++ /var/tmp/diff_new_pack.EAODL0/_new  2017-06-02 10:33:52.159352573 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package rubygem-nio4r
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -24,7 +24,7 @@
 #
 
 Name:           rubygem-nio4r
-Version:        2.0.0
+Version:        2.1.0
 Release:        0
 %define mod_name nio4r
 %define mod_full_name %{mod_name}-%{version}

++++++ nio4r-2.0.0.gem -> nio4r-2.1.0.gem ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.travis.yml new/.travis.yml
--- old/.travis.yml     2016-12-29 03:35:54.000000000 +0100
+++ new/.travis.yml     2017-05-28 22:58:36.000000000 +0200
@@ -2,6 +2,10 @@
 sudo: false
 cache: bundler
 
+before_install:
+  - gem update --system 2.6.10
+  - gem --version
+
 bundler_args: --without development
 
 branches:
@@ -9,10 +13,11 @@
     - master
 
 rvm:
-  - jruby-9.1.6.0 # latest stable
-  - 2.2.2
-  - 2.3.3
-  - 2.4.0
+  - jruby-9.1.10.0 # latest stable
+  - 2.2.7
+  - 2.3.4
+  - 2.4.1
+  - ruby-head
 
 env:
   global:
@@ -22,6 +27,8 @@
     - NIO4R_PURE=true
 
 matrix:
+  allow_failures:
+    - rvm: ruby-head
   fast_finish: true
 
 notifications:
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/CHANGES.md new/CHANGES.md
--- old/CHANGES.md      2016-12-29 03:35:54.000000000 +0100
+++ new/CHANGES.md      2017-05-28 22:58:36.000000000 +0200
@@ -1,3 +1,21 @@
+## 2.1.0 (2017-05-28)
+
+* [#130](https://github.com/socketry/nio4r/pull/130)
+  Add -fno-strict-aliasing flag when compiling C ext.
+  ([@junaruga])
+  
+* [#146](https://github.com/socketry/nio4r/pull/146)
+  Use non-blocking select when a timeout of 0 is given.
+  ([@tarcieri])
+
+* [#147](https://github.com/socketry/nio4r/pull/147)
+  Update to libev 4.24.
+  ([@tarcieri])
+
+* [#148](https://github.com/socketry/nio4r/pull/148)
+  Switch to the libev 4 API internally.
+  ([@tarcieri])
+
 ## 2.0.0 (2016-12-28)
 
 * [#53](https://github.com/socketry/nio4r/pull/53)
@@ -144,3 +162,4 @@
 [@tarcieri]: https://github.com/tarcieri
 [@johnnyt]: https://github.com/johnnyt
 [@UpeksheJay]: https://github.com/UpeksheJay
+[@junaruga]: https://github.com/junaruga
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/LICENSE.txt new/LICENSE.txt
--- old/LICENSE.txt     2016-12-29 03:35:54.000000000 +0100
+++ new/LICENSE.txt     2017-05-28 22:58:36.000000000 +0200
@@ -1,4 +1,4 @@
-Copyright (c) 2011-16 Tony Arcieri
+Copyright (c) 2011-2017 Tony Arcieri
 
 Permission is hereby granted, free of charge, to any person obtaining
 a copy of this software and associated documentation files (the
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/README.md new/README.md
--- old/README.md       2016-12-29 03:35:54.000000000 +0100
+++ new/README.md       2017-05-28 22:58:36.000000000 +0200
@@ -6,8 +6,8 @@
 [![Coverage 
Status](https://coveralls.io/repos/socketry/nio4r/badge.svg?branch=master)](https://coveralls.io/r/socketry/nio4r)
 [![MIT 
licensed](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/socketry/nio4r/blob/master/LICENSE.txt)
 
-_NOTE: This is the 2.x **development** branch of nio4r.  For the 1.x **stable**
-branch (used by [Rails 5]), please see:_
+_NOTE: This is the 2.x **stable** branch of nio4r.  For the 1.x **legacy** 
branch,
+please see:_
 
 https://github.com/socketry/nio4r/tree/1-x-stable
 
@@ -20,15 +20,15 @@
 multiple I/O objects for various types of readiness, e.g. ready for reading or
 writing.
 
-[Rails 5]: https://rubygems.org/gems/actioncable
-
 ## Projects using nio4r
 
 * [ActionCable]: Rails 5 WebSocket protocol, uses nio4r for a WebSocket server
 * [Celluloid::IO]: Actor-based concurrency framework, uses nio4r for async I/O
+* [Socketry Async]: Asynchronous I/O framework for Ruby
 
 [ActionCable]: https://rubygems.org/gems/actioncable
-[Celluloid::IO]: https://github.com/socketry/socketry-io
+[Celluloid::IO]: https://github.com/celluloid/celluloid-io
+[Socketry Async]: https://github.com/socketry/async
 
 ## Goals
 
@@ -50,6 +50,17 @@
 * **Java NIO**: JRuby extension which wraps the Java NIO subsystem
 * **Pure Ruby**: `Kernel.select`-based backend that should work on any Ruby 
interpreter
 
+## Discussion
+
+For discussion and general help with nio4r, email
+[[email protected]][subscribe]
+or join on the web via the [Google Group].
+
+We're also on IRC at ##socketry on irc.freenode.net.
+
+[subscribe]:    mailto:[email protected]
+[google group]: https://groups.google.com/group/socketry
+
 ## Documentation
 
 [Please see the nio4r wiki](https://github.com/socketry/nio4r/wiki)
@@ -82,10 +93,10 @@
 
 ## License
 
-Copyright (c) 2011-2016 Tony Arcieri. Distributed under the MIT License.
+Copyright (c) 2011-2017 Tony Arcieri. Distributed under the MIT License.
 See [LICENSE.txt] for further details.
 
-Includes libev 4.23. Copyright (c) 2007-2016 Marc Alexander Lehmann.
+Includes libev 4.24. Copyright (c) 2007-2016 Marc Alexander Lehmann.
 Distributed under the BSD license. See [ext/libev/LICENSE] for details.
 
 [LICENSE.txt]: https://github.com/socketry/nio4r/blob/master/LICENSE.txt
Binary files old/checksums.yaml.gz and new/checksums.yaml.gz differ
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/libev/Changes new/ext/libev/Changes
--- old/ext/libev/Changes       2016-12-29 03:35:54.000000000 +0100
+++ new/ext/libev/Changes       2017-05-28 22:58:36.000000000 +0200
@@ -1,5 +1,10 @@
 Revision history for libev, a high-performance and full-featured event loop.
 
+4.24 Wed Dec 28 05:19:55 CET 2016
+       - bump version to 4.24, as the release tarball inexplicably
+          didn't have the right version in ev.h, even though the cvs-tagged
+          version did have the right one (reported by Ales Teska).
+
 4.23 Wed Nov 16 18:23:41 CET 2016
        - move some declarations at the beginning to help certain retarded
           microsoft compilers, even though their documentation claims
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/libev/ev.h new/ext/libev/ev.h
--- old/ext/libev/ev.h  2016-12-29 03:35:54.000000000 +0100
+++ new/ext/libev/ev.h  2017-05-28 22:58:36.000000000 +0200
@@ -56,11 +56,6 @@
 
 /*****************************************************************************/
 
-/* pre-4.0 compatibility */
-#ifndef EV_COMPAT3
-# define EV_COMPAT3 1
-#endif
-
 #ifndef EV_FEATURES
 # if defined __OPTIMIZE_SIZE__
 #  define EV_FEATURES 0x7c
@@ -211,7 +206,7 @@
 /*****************************************************************************/
 
 #define EV_VERSION_MAJOR 4
-#define EV_VERSION_MINOR 22
+#define EV_VERSION_MINOR 24
 
 /* eventmask, revents, events... */
 enum {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/nio4r/extconf.rb new/ext/nio4r/extconf.rb
--- old/ext/nio4r/extconf.rb    2016-12-29 03:35:54.000000000 +0100
+++ new/ext/nio4r/extconf.rb    2017-05-28 22:58:36.000000000 +0200
@@ -18,6 +18,8 @@
 
 $defs << "-DHAVE_SYS_RESOURCE_H" if have_header("sys/resource.h")
 
+CONFIG["optflags"] << " -fno-strict-aliasing"
+
 dir_config "nio4r_ext"
 create_makefile "nio4r_ext"
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/nio4r/nio4r.h new/ext/nio4r/nio4r.h
--- old/ext/nio4r/nio4r.h       2016-12-29 03:35:54.000000000 +0100
+++ new/ext/nio4r/nio4r.h       2017-05-28 22:58:36.000000000 +0200
@@ -12,7 +12,7 @@
 
 struct NIO_Selector
 {
-    struct ev_loop *ev_loop;
+    ev_loop *ev_loop;
     struct ev_timer timer; /* for timeouts */
     struct ev_io wakeup;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/nio4r/nio4r_ext.c new/ext/nio4r/nio4r_ext.c
--- old/ext/nio4r/nio4r_ext.c   2016-12-29 03:35:54.000000000 +0100
+++ new/ext/nio4r/nio4r_ext.c   2017-05-28 22:58:36.000000000 +0200
@@ -1,6 +1,6 @@
 /*
- * Copyright (c) 2011 Tony Arcieri. Distributed under the MIT License. See
- * LICENSE.txt for further details.
+ * Copyright (c) 2011-2017 Tony Arcieri. Distributed under the MIT License.
+ * See LICENSE.txt for further details.
  */
 
 #include "nio4r.h"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/ext/nio4r/selector.c new/ext/nio4r/selector.c
--- old/ext/nio4r/selector.c    2016-12-29 03:35:54.000000000 +0100
+++ new/ext/nio4r/selector.c    2017-05-28 22:58:36.000000000 +0200
@@ -49,8 +49,8 @@
 static VALUE NIO_Selector_closed_synchronized(VALUE *args);
 
 static int NIO_Selector_run(struct NIO_Selector *selector, VALUE timeout);
-static void NIO_Selector_timeout_callback(struct ev_loop *ev_loop, struct 
ev_timer *timer, int revents);
-static void NIO_Selector_wakeup_callback(struct ev_loop *ev_loop, struct ev_io 
*io, int revents);
+static void NIO_Selector_timeout_callback(ev_loop *ev_loop, struct ev_timer 
*timer, int revents);
+static void NIO_Selector_wakeup_callback(ev_loop *ev_loop, struct ev_io *io, 
int revents);
 
 /* Default number of slots in the buffer for selected monitors */
 #define INITIAL_READY_BUFFER 32
@@ -359,22 +359,30 @@
 
 static int NIO_Selector_run(struct NIO_Selector *selector, VALUE timeout)
 {
+    int ev_run_flags = EVRUN_ONCE;
     int result;
+    double timeout_val;
 
     selector->selecting = 1;
     selector->wakeup_fired = 0;
 
-    /* Implement the optional timeout (if any) as a ev_timer */
-    if(timeout != Qnil) {
-        /* It seems libev is not a fan of timers being zero, so fudge a little 
*/
-        selector->timer.repeat = NUM2DBL(timeout) + 0.0001;
-        ev_timer_again(selector->ev_loop, &selector->timer);
-    } else {
+    if(timeout == Qnil) {
+        /* Don't fire a wakeup timeout if we weren't passed one */
         ev_timer_stop(selector->ev_loop, &selector->timer);
+    } else {
+        timeout_val = NUM2DBL(timeout);
+        if(timeout_val == 0) {
+            /* If we've been given an explicit timeout of 0, perform a 
non-blocking
+               select operation */
+            ev_run_flags = EVRUN_NOWAIT;
+        } else {
+            selector->timer.repeat = timeout_val;
+            ev_timer_again(selector->ev_loop, &selector->timer);
+        }
     }
 
     /* libev is patched to release the GIL when it makes its system call */
-    ev_loop(selector->ev_loop, EVLOOP_ONESHOT);
+    ev_run(selector->ev_loop, ev_run_flags);
 
     result = selector->ready_count;
     selector->selecting = selector->ready_count = 0;
@@ -447,12 +455,12 @@
 
 
 /* Called whenever a timeout fires on the event loop */
-static void NIO_Selector_timeout_callback(struct ev_loop *ev_loop, struct 
ev_timer *timer, int revents)
+static void NIO_Selector_timeout_callback(ev_loop *ev_loop, struct ev_timer 
*timer, int revents)
 {
 }
 
 /* Called whenever a wakeup request is sent to a selector */
-static void NIO_Selector_wakeup_callback(struct ev_loop *ev_loop, struct ev_io 
*io, int revents)
+static void NIO_Selector_wakeup_callback(ev_loop *ev_loop, struct ev_io *io, 
int revents)
 {
     char buffer[128];
     struct NIO_Selector *selector = (struct NIO_Selector *)io->data;
@@ -463,7 +471,7 @@
 }
 
 /* libev callback fired whenever a monitor gets an event */
-void NIO_Selector_monitor_callback(struct ev_loop *ev_loop, struct ev_io *io, 
int revents)
+void NIO_Selector_monitor_callback(ev_loop *ev_loop, struct ev_io *io, int 
revents)
 {
     struct NIO_Monitor *monitor_data = (struct NIO_Monitor *)io->data;
     struct NIO_Selector *selector = monitor_data->selector;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/lib/nio/version.rb new/lib/nio/version.rb
--- old/lib/nio/version.rb      2016-12-29 03:35:54.000000000 +0100
+++ new/lib/nio/version.rb      2017-05-28 22:58:36.000000000 +0200
@@ -1,5 +1,5 @@
 # frozen_string_literal: true
 
 module NIO
-  VERSION = "2.0.0"
+  VERSION = "2.1.0"
 end
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/metadata new/metadata
--- old/metadata        2016-12-29 03:35:54.000000000 +0100
+++ new/metadata        2017-05-28 22:58:36.000000000 +0200
@@ -1,14 +1,14 @@
 --- !ruby/object:Gem::Specification
 name: nio4r
 version: !ruby/object:Gem::Version
-  version: 2.0.0
+  version: 2.1.0
 platform: ruby
 authors:
 - Tony Arcieri
 autorequire: 
 bindir: bin
 cert_chain: []
-date: 2016-12-29 00:00:00.000000000 Z
+date: 2017-05-28 00:00:00.000000000 Z
 dependencies:
 - !ruby/object:Gem::Dependency
   name: rake
@@ -125,7 +125,7 @@
       version: '0'
 requirements: []
 rubyforge_project: 
-rubygems_version: 2.6.8
+rubygems_version: 2.6.11
 signing_key: 
 specification_version: 4
 summary: New IO for Ruby
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/spec/spec_helper.rb new/spec/spec_helper.rb
--- old/spec/spec_helper.rb     2016-12-29 03:35:54.000000000 +0100
+++ new/spec/spec_helper.rb     2017-05-28 22:58:36.000000000 +0200
@@ -20,7 +20,7 @@
     $current_tcp_port += 1
 
     begin
-      sock = Timeout.timeout(0.1) { TCPSocket.new("localhost", 
$current_tcp_port) }
+      sock = Timeout.timeout(1) { TCPSocket.new("localhost", 
$current_tcp_port) }
     rescue Errno::ECONNREFUSED
       break $current_tcp_port
     end


Reply via email to