Thanks, Elfyn, > I believe I have found the problem. In order for your program to work as > expected you will need SA_INTERRUPT , which is not defined in > /usr/include/sys/signal.h . So it just laggs until it gets to the "Network > unreachable" error. I'm not to sure the reason why it's not there (?).
The SA_INTERRUPT flag was used by older systems such as Solaris 2.4, where, contrary to current expectations, all interrupted system calls were automatically restarted. On those systems, if you set the SA_INTERRUPT flag, the call would not be restarted, giving the behavior we now expect. (i.e. its behavior is the opposite of the SA_RESTART flag that we ordinarily use now to ensure restart of an interrupted system call. See Stevens Unix Network Programming, p. 121). So unless this is the official answer, I am doubtful that this is the actual problem, since by default, connect() should be interrupted by SIGALRM. Regards, Eric -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/