shugo / ruby-lang.org wrote:
> Eric Wong wrote:
> >  We should guard against sockerr setting errno to
> >  EINTR, ERESTART, EINPROGRESS, EALREADY, EISCONN here...
> 
> Agreed.  You mean to expose only usual errors to users and to hide unusual
> platform-dependent errors, right?

Yes, because we already handle most of those with rb_wait_for_single_fd.

http://bogomips.org/ruby.git/patch?id=d8241102f54
  git://80x24.org/ruby socket-connect-check-v4

> Charlie said Errno::ENOTCONN is raised by TCPSocket#write, not by TCPSocket.new.
> I don't know why....

Maybe one additional change helps:
http://bogomips.org/ruby.git/patch?id=66ca3633f43
  git://80x24.org/ruby socket-connect-check-v5

I'm out of ideas.  Charlie?