From: KOSAKI Motohiro Date: 2011-05-01T12:45:18+09:00 Subject: [ruby-core:35964] Re: [Ruby 1.9 - Bug #4555] [PATCH] ext/socket/init.c: rsock_connect retries on interrupt > Your patch looks reasonable to me, but maybe some platforms break under it... Can you please clarify this? Which platform break and why? > I was trying to emulate rb_io_wait_writable() logic which calls > rb_thread_fd_writable() (which wraps select() if there are multiple threads). > Maybe avoiding select() in all EINTR cases will work, I am under the impression > a lot of the select()-wrapping calls in Ruby are relics of the old green threading > and can be removed. I missed your point. If anyone set non-blocking flag and call socket#connect, the connect call in rsock_connect() can return non-blocking related error. We have to care it even though we only have single thread. Am I missing something?