From: Christopher Kohlhoff (chris_at_[hidden])
Date: 2005-12-13 02:02:30


Hi Oliver,

--- Oliver.Kowalke_at_[hidden] wrote:
<snip>
> sig:action abstracts struct sigaction, clib function ::sigaction
> and so on.

Is sigaction safe with threads? Doesn't it set the process-wide signal
handler? If so, that won't work if a process might be doing writes from
multiple threads.

I've been doing a bit of reading along the lines of what Jeremy
suggested, and it seems like best thing at this stage is:

- On linux use sendmsg with the MSG_NOSIGNAL flag.

- On Mac OS X use setsockopt with SO_NOSIGPIPE option.

- Solaris ... ??? Unfortunately the best option at this stage does seem
to be globally ignoring the signal.

Cheers,
Chris