summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--ext/socket/lib/socket.rb4
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index d12f5e3..a1d507e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sun Jul 19 10:54:56 2009 Tanaka Akira <akr@fsij.org>
+
+ * ext/socket/lib/socket.rb (Socket.accept_loop): rescue
+ IO::WaitReadable instead of Errno::EWOULDBLOCK.
+ (Socket.udp_server_loop_on): ditto.
+
Sat Jul 18 23:44:59 2009 NARUSE, Yui <naruse@ruby-lang.org>
* re.c (reg_enc_error): use rb_enc_get to get the encoding of
diff --git a/ext/socket/lib/socket.rb b/ext/socket/lib/socket.rb
index 8d41748..1f155e7 100644
--- a/ext/socket/lib/socket.rb
+++ b/ext/socket/lib/socket.rb
@@ -404,7 +404,7 @@ class Socket
readable.each {|r|
begin
sock, addr = r.accept_nonblock
- rescue Errno::EWOULDBLOCK
+ rescue IO::WaitReadable
next
end
yield sock, addr
@@ -567,7 +567,7 @@ class Socket
readable.each {|r|
begin
msg, sender_addrinfo, rflags, *controls = r.recvmsg_nonblock
- rescue Errno::EWOULDBLOCK
+ rescue IO::WaitReadable
next
end
ai = r.local_address