kern/118626: Bad interaction between SIGPIPE and threads.

Kris Kennaway kris at FreeBSD.org
Thu Jan 10 15:01:27 PST 2008


Mark Andrews wrote:
>> David Schultz wrote:
>>> On Thu, Dec 13, 2007, Mark Andrews wrote:
>>>> The following reply was made to PR kern/118626; it has been noted by GNATS
>> .
>>>> From: Mark Andrews <Mark_Andrews at isc.org>
>>>> To: bug-followup at FreeBSD.org, marka at isc.org
>>>> Cc:  sobomax at freebsd.org
>>>> Subject: Re: kern/118626: Bad interaction between SIGPIPE and threads.
>>>> Date: Thu, 13 Dec 2007 11:41:16 +1100
>>>>
>>>>  I'll definitely try it.
>>>>  
>>>>  The man page for socket(2) should be updated to reference SO_NOSIGPIPE
>>>>  where it talks about SIGPIPE being generated.
>>> The commit log says SO_NOSIGPIPE exists for compatibility, but it
>>> looks fully implemented and supported. I've cc'd the original
>>> author to find out if there's any good reason not to document it.
>> It definitely should be documented fully.  Converting threaded 
>> applications to use this can significantly reduce the lock contention 
>> associated with signal delivery and associated processing, and may 
>> improve performance.
>>
>> Kris
> 
> FYI: libisc and libbind will both being using SO_NOSIGPIPE when it
> is available as it is the only way to make the libraries safe in a
> threaded envirionment without impacting on the applications use of
> SIGPIPE.

Yeah, that's another excellent point.

Kris


More information about the freebsd-bugs mailing list