Issue #4555 has been updated by Yui NARUSE.

Status changed from Open to Assigned
Assignee set to Motohiro KOSAKI
Priority changed from High to Normal


----------------------------------------
Bug #4555: [PATCH] ext/socket/init.c: rsock_connect retries on interrupt
http://redmine.ruby-lang.org/issues/4555

Author: Eric Wong
Status: Assigned
Priority: Normal
Assignee: Motohiro KOSAKI
Category: ext
Target version: 1.9.x
ruby -v: ruby 1.9.3dev (2011-04-05 trunk 31241) [x86_64-linux]


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...



-- 
http://redmine.ruby-lang.org