> Issue #4558 has been updated by Eric Wong.
>
> I consider either Errno::EBADF or IOError to be acceptable.

Hmm...
I can't agree this. If EBADF can be observed, we can observe completely
unrelated file when a fd number was recycled just after close.


> The main thing I care about is I/O for pipes/sockets being interruptable
> (I only work on *nix).
>
> By the way, test/socket/test_socket.rb has had a similar test for months
> (since r30852). =A0 It does have a Timeout wrapping it, so maybe that is
> needed (but you'd still get an error). =A0Maybe just disabling this test
> for Windows platforms would be acceptable?

Hmm...
If windows can't implement close() case, I doubt r30852 is correct fix.
Is this really worth that *nix and windows have different spec?


> Eventually I would like to get rid of places where we call select()
> before doing (any) I/O across the board (ref: [ruby-core:35586]) if
> possible.

this makes sense to me.