0fce6c
From 920b924e5652884064a9529ffbd80d458a46fbc6 Mon Sep 17 00:00:00 2001
0fce6c
From: eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
0fce6c
Date: Tue, 5 Feb 2019 09:58:50 +0000
0fce6c
Subject: [PATCH] Make sure to wait with IO.select before using
0fce6c
 Socket#recvfrom_nonblock
0fce6c
0fce6c
* On all platforms, as this is the recommended code pattern.
0fce6c
0fce6c
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67010 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
0fce6c
---
0fce6c
 spec/ruby/library/socket/socket/recvfrom_nonblock_spec.rb | 8 ++++----
0fce6c
 1 file changed, 4 insertions(+), 4 deletions(-)
0fce6c
0fce6c
diff --git a/spec/ruby/library/socket/socket/recvfrom_nonblock_spec.rb b/spec/ruby/library/socket/socket/recvfrom_nonblock_spec.rb
0fce6c
index c1239ae637e0..74fd286c42ad 100644
0fce6c
--- a/spec/ruby/library/socket/socket/recvfrom_nonblock_spec.rb
0fce6c
+++ b/spec/ruby/library/socket/socket/recvfrom_nonblock_spec.rb
0fce6c
@@ -36,12 +36,11 @@
0fce6c
       describe 'with data available' do
0fce6c
         before do
0fce6c
           @client.write('hello')
0fce6c
-
0fce6c
-          platform_is(:darwin, :freebsd) { IO.select([@server]) }
0fce6c
         end
0fce6c
 
0fce6c
         platform_is_not :windows do
0fce6c
           it 'returns an Array containing the data and an Addrinfo' do
0fce6c
+            IO.select([@server])
0fce6c
             ret = @server.recvfrom_nonblock(1)
0fce6c
 
0fce6c
             ret.should be_an_instance_of(Array)
0fce6c
@@ -54,8 +53,7 @@
0fce6c
             5.times do
0fce6c
               @client.write('hello')
0fce6c
 
0fce6c
-              platform_is(:darwin, :freebsd) { IO.select([@server]) }
0fce6c
-
0fce6c
+              IO.select([@server])
0fce6c
               msg, _ = @server.recvfrom_nonblock(5)
0fce6c
 
0fce6c
               msg.should == 'hello'
0fce6c
@@ -66,6 +64,7 @@
0fce6c
         platform_is_not :windows do
0fce6c
           describe 'the returned Array' do
0fce6c
             before do
0fce6c
+              IO.select([@server])
0fce6c
               @array = @server.recvfrom_nonblock(1)
0fce6c
             end
0fce6c
 
0fce6c
@@ -80,6 +79,7 @@
0fce6c
 
0fce6c
           describe 'the returned Addrinfo' do
0fce6c
             before do
0fce6c
+              IO.select([@server])
0fce6c
               @addr = @server.recvfrom_nonblock(1)[1]
0fce6c
             end
0fce6c
 
0fce6c
From c1f0daeb6ac5c5414c9a4a58bb778a118006ae1f Mon Sep 17 00:00:00 2001
0fce6c
From: eregon <eregon@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>
0fce6c
Date: Tue, 5 Feb 2019 10:19:29 +0000
0fce6c
Subject: [PATCH] Make sure to wait with IO.select before using
0fce6c
 Socket#accept_nonblock and recvfrom_nonblock
0fce6c
0fce6c
* On all platforms, as this is the recommended code pattern.
0fce6c
0fce6c
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67011 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
0fce6c
---
0fce6c
 spec/ruby/library/socket/socket/accept_nonblock_spec.rb      | 4 ++--
0fce6c
 spec/ruby/library/socket/udpsocket/recvfrom_nonblock_spec.rb | 5 +++--
0fce6c
 2 files changed, 5 insertions(+), 4 deletions(-)
0fce6c
0fce6c
diff --git a/spec/ruby/library/socket/socket/accept_nonblock_spec.rb b/spec/ruby/library/socket/socket/accept_nonblock_spec.rb
0fce6c
index 3ef219ed05a9..cde9e6a4b669 100644
0fce6c
--- a/spec/ruby/library/socket/socket/accept_nonblock_spec.rb
0fce6c
+++ b/spec/ruby/library/socket/socket/accept_nonblock_spec.rb
0fce6c
@@ -86,8 +86,6 @@
0fce6c
             @client = Socket.new(family, :STREAM, 0)
0fce6c
 
0fce6c
             @client.connect(addr)
0fce6c
-
0fce6c
-            platform_is(:darwin, :freebsd, :solaris) { IO.select([@server]) }
0fce6c
           end
0fce6c
 
0fce6c
           after do
0fce6c
@@ -96,6 +94,7 @@
0fce6c
           end
0fce6c
 
0fce6c
           it 'returns an Array containing a Socket and an Addrinfo' do
0fce6c
+            IO.select([@server])
0fce6c
             @socket, addrinfo = @server.accept_nonblock
0fce6c
 
0fce6c
             @socket.should be_an_instance_of(Socket)
0fce6c
@@ -104,6 +103,7 @@
0fce6c
 
0fce6c
           describe 'the returned Addrinfo' do
0fce6c
             before do
0fce6c
+              IO.select([@server])
0fce6c
               @socket, @addr = @server.accept_nonblock
0fce6c
             end
0fce6c
 
0fce6c
diff --git a/spec/ruby/library/socket/udpsocket/recvfrom_nonblock_spec.rb b/spec/ruby/library/socket/udpsocket/recvfrom_nonblock_spec.rb
0fce6c
index 015109a05200..62bbaf0dc93a 100644
0fce6c
--- a/spec/ruby/library/socket/udpsocket/recvfrom_nonblock_spec.rb
0fce6c
+++ b/spec/ruby/library/socket/udpsocket/recvfrom_nonblock_spec.rb
0fce6c
@@ -40,16 +40,16 @@
0fce6c
         describe 'with data available' do
0fce6c
           before do
0fce6c
             @client.write('hello')
0fce6c
-
0fce6c
-            platform_is(:darwin, :freebsd) { IO.select([@server]) }
0fce6c
           end
0fce6c
 
0fce6c
           it 'returns an Array containing the data and an Array' do
0fce6c
+            IO.select([@server])
0fce6c
             @server.recvfrom_nonblock(1).should be_an_instance_of(Array)
0fce6c
           end
0fce6c
 
0fce6c
           describe 'the returned Array' do
0fce6c
             before do
0fce6c
+              IO.select([@server])
0fce6c
               @array = @server.recvfrom_nonblock(1)
0fce6c
             end
0fce6c
 
0fce6c
@@ -64,6 +64,7 @@
0fce6c
 
0fce6c
           describe 'the returned address Array' do
0fce6c
             before do
0fce6c
+              IO.select([@server])
0fce6c
               @addr = @server.recvfrom_nonblock(1)[1]
0fce6c
             end
0fce6c