Brian J. Tarricone
bjt23 at cornell.edu
Tue Jun 22 18:57:51 CEST 2004
On Tue, 22 Jun 2004, Benedikt Meurer wrote:
> Ok, finally, thanks to Jens, we found the cause for the problem on Linux.
> Linux sends SIGPIPE "randomly" instead of just telling me that the socket peer
> disconnected, for which the default action is "Terminate current process".
> Problem should be finally fixed now, please verify.
it occurs to me.... if this is occurring asynchronously, not much you
can do aside from your fix. but if it's happening on a send() or recv()
on the socket, passing MSG_NOSIGNAL in the 'flags' parameter will also
cause this behaviour to stop. that may just be for send(), i think,
actually. of course, just ignoring sigpipe entirely is much easier ^_~.
(you might also be able to use ioctl() or fcntl() on the socket
descriptor to disable this; i don't recall offhand.)
More information about the Xfce4-dev