Project

General

Profile

Bug #4555

[PATCH] ext/socket/init.c: rsock_connect retries on interrupt

Added by normalperson (Eric Wong) over 9 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Normal
Target version:
ruby -v:
-
Backport:
[ruby-core:35621]

Description

=begin
Otherwise I get the following error in test/openssl/test_ssl.rb:

test_verify_result(OpenSSL::TestSSL):
Errno::EINTR: Interrupted system call - connect(2)
/tmp/ruby/test/openssl/test_ssl.rb:338:in initialize'
/tmp/ruby/test/openssl/test_ssl.rb:338:in
new'
/tmp/ruby/test/openssl/test_ssl.rb:338:in block in test_verify_result'
/tmp/ruby/test/openssl/test_ssl.rb:117:in
call'
/tmp/ruby/test/openssl/test_ssl.rb:117:in start_server'
/tmp/ruby/test/openssl/test_ssl.rb:330:in
test_verify_result'

This bug is made more noticeable by r31230, though it always
existed before.

Fwiw, I think all the wait_connectable() logic incorrectly uses
the except_fds parameter of select() and rb_io_wait_writable()
should be used here...

=end


Files

Also available in: Atom PDF