From ba9a22b6926db058199d44a626b923376c8a850f Mon Sep 17 00:00:00 2001 From: Eric Wong Date: Fri, 4 Feb 2011 22:38:31 +0000 Subject: epoll: handle EINTR properly in Ruby-space We can't work around it effectively in the C extension itself. This requires the latest sleepy_penguin gem. --- lib/rainbows/xaccept_epoll/client.rb | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/rainbows/xaccept_epoll/client.rb') diff --git a/lib/rainbows/xaccept_epoll/client.rb b/lib/rainbows/xaccept_epoll/client.rb index 6c3a0f5..f0fecd0 100644 --- a/lib/rainbows/xaccept_epoll/client.rb +++ b/lib/rainbows/xaccept_epoll/client.rb @@ -28,6 +28,7 @@ module Rainbows::XAcceptEpoll::Client begin EP.wait(nil, @timeout) { |flags, obj| obj.epoll_run } Rainbows::Epoll::Client.expire + rescue Errno::EINTR rescue => e Rainbows::Error.listen_loop(e) end while Rainbows.tick -- cgit v1.2.3-24-ge0c7