> - bytesSent = ::send(_socket, buf, toWrite, MSG_NOSIGNAL);
> + // I'd like to get no SIGPIPE here, as we wouldn't
> + // know how to handle. Instead, for broken pipe I'd
> + // prefer being notified with a return of -1.
> + // Is that possible, in a standard way ?
> + // MSG_NOSIGNAL was reported as being non-standard flag..
> + bytesSent = ::send(_socket, buf, toWrite, 0);
The usual way is to do:
signal(SIGPIPE, SIG_IGN);
which says to ignore that signal rather than deliver it. This is a
stateful setting, which remains set until the process ends or you
change it. This is a portable construct (though most other uses
of signal() are not portable).
The return value can be used to re-establish the former SIGPIPE
handler if you want; or it can just be thrown away if you're doing
this in mainline (rather than library) code and you know you don't
ever want to restore the default or former setting.
John
_______________________________________________
Gnash-dev mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/gnash-dev