cvs commit: src/sys/compat/linux linux_socket.c

Maxim Sobolev sobomax at portaone.com
Tue Mar 8 16:14:28 GMT 2005


Alfred Perlstein wrote:
> Why not just expand our API to do this as well?  It shouldn't be
> that hard and then we'll gain the additional functionality.

I have been erroneously assuming that it would be much harder to do, but 
closer investigation is revealed that it's very simple to do.

Committed, thank you for suggestion!

Regards,

Maxim

> 
> * Maxim Sobolev <sobomax at FreeBSD.org> [050306 23:26] wrote:
> 
>>sobomax     2005-03-07 07:26:43 UTC
>>
>>  FreeBSD src repository
>>
>>  Modified files:
>>    sys/compat/linux     linux_socket.c 
>>  Log:
>>  Handle MSG_NOSIGNAL flag in linux_send() by setting SO_NOSIGPIPE on socket
>>  for the duration of the send() call. Such approach may be less than ideal
>>  in threading environment, when several threads share the same socket and it
>>  might happen that several of them are calling linux_send() at the same time
>>  with and without SO_NOSIGPIPE set.
>>  
>>  However, such race condition is very unlikely in practice, therefore this
>>  change provides practical improvement compared to the previous behaviour.
>>  
>>  PR:             kern/76426
>>  Submitted by:   Steven Hartland <killing at multiplay.co.uk>
>>  MFC after:      3 days
>>  
>>  Revision  Changes    Path
>>  1.56      +25 -2     src/sys/compat/linux/linux_socket.c
> 
> 



More information about the cvs-src mailing list