Bug #14013 » webrick_ssl.patch
lib/webrick/server.rb | ||
---|---|---|
WEBrick::Utils.timeout(@config[:RequestTimeout]) do
|
||
# we must call OpenSSL::SSL::SSLSocket#accept_nonblock until
|
||
# it stop returning wait_* symbols:
|
||
case ret = sock.accept_nonblock(exception: false)
|
||
when :wait_readable, :wait_writable
|
||
sock.to_io.__send__(ret)
|
||
else
|
||
break
|
||
end while true
|
||
# it stop returning wait_* symbols or wait_* methods return !nil:
|
||
begin
|
||
ret = sock.accept_nonblock(exception: false)
|
||
if ret == :wait_readable || ret == :wait_writable
|
||
break unless sock.to_io.__send__(ret).nil?
|
||
end
|
||
end until ret == sock
|
||
end
|
||
end
|
||
call_callback(:AcceptCallback, sock)
|
- « Previous
- 1
- 2
- 3
- 4
- Next »