Hello, all.
Socket.connectNB behaves oddly in Poly/ML.
We get raise SysErr immediately after Socket.connectNB to a non-existent server. However, it is a nonblocking connect, so we should get information about unsuccesful connecton only after socket access.
The source code is attached and here is the results for Poly/ML:
./a.out
exc in 2 socket: SysErr ("Connection refused", SOME ECONNREFUSED) exc in 3 socket: SysErr ("Connection refused", SOME ECONNREFUSED) exc in 4 socket: SysErr ("Connection refused", SOME ECONNREFUSED) . . ^C
./a.out
exc in 1 socket: SysErr ("Connection refused", SOME ECONNREFUSED) exc in 2 socket: SysErr ("Connection refused", SOME ECONNREFUSED) exc in 3 socket: SysErr ("Connection refused", SOME ECONNREFUSED) exc in 4 socket: SysErr ("Connection refused", SOME ECONNREFUSED) . . ^C
We usually get errors in this situation. I've tested on Linix and FreeBSD.
MLton and SML/NY don't get errors in the same situation.
NIck.