[Hurd] MSG_NOSIGNAL implementation

Roland McGrath roland@redhat.com
Tue Jul 1 19:58:00 GMT 2008


> Ah, I thought it would apply to any kind of signal.

If "the socket operation" were generating other kinds of signals, it would.
(In non-Hurd systems, EPIPE->SIGPIPE is the only thing those operations
do.)  In the SIGLOST cases, it's "trying to use this fd (io port)" that is
what generates the signal; this is a Hurd-specific feature, and behaves
differently.  Whereas MSG_NOSIGNAL is something a portable program uses in
how it relates to the socket/network stack, the Hurd's SIGLOST indicates a
much more fundamental kind of failure that can never arise in monolithic
kernel systems (you can't talk to the part of the operating system you
thought you were talking to).  This is not something the application using
MSG_NOSIGNAL is intending to gloss over and handle itself.


Thanks,
Roland



More information about the Libc-alpha mailing list