Failed non-blocking connect returns incorrect errno on AF_UNIX protocol.
See attached test program.
On cygwin:
$ ./afunix
EINPROGRESS: Operation now in progress
On
Linux 2.4 (Debian 2.2)
Linux 2.4 (Redhat 7.3)
Sun Solaris (8):
$ ./afunix
ECONNREFUSED: Connection refused
When i comment following code:
// if (fcntl (fd2, F_SETFL, O_NONBLOCK) < 0)
// printf ("Failed to set fd non-blocking");
The result is
ECONNREFUSED: Connection refused
It seems an old bug.
I don't know whether it effect others address/protocol families.
Thanks.