Feature #11081 ยป 0001-stdlib-use-IO-wait_-able-instead-of-IO.select-when-p.patch
| ext/socket/lib/socket.rb | ||
|---|---|---|
|
require 'socket.so'
|
||
|
require 'io/wait'
|
||
|
class Addrinfo
|
||
|
# creates an Addrinfo object from the arguments.
|
||
| ... | ... | |
|
when 0 # success or EISCONN, other errors raise
|
||
|
break
|
||
|
when :wait_writable
|
||
|
if !IO.select(nil, [sock], nil, timeout)
|
||
|
sock.wait_writable(timeout) or
|
||
|
raise Errno::ETIMEDOUT, 'user specified timeout'
|
||
|
end
|
||
|
end while true
|
||
|
else
|
||
|
sock.connect(self)
|
||
| lib/drb/drb.rb | ||
|---|---|---|
|
require 'socket'
|
||
|
require 'thread'
|
||
|
require 'fcntl'
|
||
|
require 'io/wait'
|
||
|
require 'drb/eq'
|
||
|
#
|
||
| ... | ... | |
|
# Check to see if this connection is alive.
|
||
|
def alive?
|
||
|
return false unless @socket
|
||
|
if IO.select([@socket], nil, nil, 0)
|
||
|
if @socket.to_io.wait_readable(0)
|
||
|
close
|
||
|
return false
|
||
|
end
|
||
| lib/resolv.rb | ||
|---|---|---|
|
require 'socket'
|
||
|
require 'timeout'
|
||
|
require 'thread'
|
||
|
require 'io/wait'
|
||
|
begin
|
||
|
require 'securerandom'
|
||
| ... | ... | |
|
if timeout <= 0
|
||
|
raise ResolvTimeout
|
||
|
end
|
||
|
select_result = IO.select(@socks, nil, nil, timeout)
|
||
|
if @socks.size == 1
|
||
|
select_result = @socks[0].wait_readable(timeout) ? [ @socks ] : nil
|
||
|
else
|
||
|
select_result = IO.select(@socks, nil, nil, timeout)
|
||
|
end
|
||
|
if !select_result
|
||
|
after_select = Time.now
|
||
|
next if after_select < timelimit
|
||
| lib/webrick/httpserver.rb | ||
|---|---|---|
|
#
|
||
|
# $IPR: httpserver.rb,v 1.63 2002/10/01 17:16:32 gotoyuzo Exp $
|
||
|
require 'io/wait'
|
||
|
require 'webrick/server'
|
||
|
require 'webrick/httputils'
|
||
|
require 'webrick/httpstatus'
|
||
| ... | ... | |
|
begin
|
||
|
timeout = @config[:RequestTimeout]
|
||
|
while timeout > 0
|
||
|
break if IO.select([sock], nil, nil, 0.5)
|
||
|
break if sock.to_io.wait_readable(0.5)
|
||
|
break if @status != :Running
|
||
|
timeout -= 0.5
|
||
|
end
|
||
|
-
|
||