connect() not interrupted by sigalrm?

Elfyn McBratney elfyn-cygwin@exposure.org.uk
Mon Feb 24 21:02:00 GMT 2003


> 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.


Ooops. I'm obviously showing my signal programming weakness' now. I'll shut
up ;-)


Regards,

Elfyn McBratney
elfyn@exposure.org.uk
www.exposure.org.uk



--
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/



More information about the Cygwin mailing list