I seemed to have comes across a bug in Solaris 2.3(sparc)/2.4(x86):
Passing a file descriptor which was created using the socket(3N) call
across a streams connection (via I_SENDFD,I_RECVFD) and then doing a
connect(3N) call on that received socket fails all but the first socket
that is received with a EAFNOSUPPORT. I.e, the connect(3N) works fine on
the first socket, but fails on any other ones. If, I don't close(2) the
sockets after the connect(3N) call, the connect(3N) works fine. The moment
I close(2) a socket. I can no longer do the connect(3N)'s anymore. The code
works without problems under SCO 3.2v4 (streams) and BSD/OS (sockets).
Is this a known problem? Is there a fix? Will Batman save Robin?