so_rcv_sx, deadlkres, SIGSTOP

Robert Watson rwatson at FreeBSD.org
Mon Apr 5 22:13:32 UTC 2010


On Sun, 4 Apr 2010, Jilles Tjoelker wrote:

> The SX locks so_snd_sx and so_rcv_sx can be legitimately held for arbitrary 
> amounts of time, while waiting until a send or recv is possible. Any other 
> threads wanting to send/recv on the socket will sleep interruptibly on the 
> corresponding SX. If deadlkres is activated, it may detect a deadlock even 
> though there is no problem.

Actually, on the whole, socket buffer sx lock acquisition is interruptible. 
There are a few exceptions, such as during socket shutdown, and in an RPC 
layer or two, but in the general case we want Ctrl-C to interrupt recv() and 
send(), so use interruptible sleeps.

Robert


More information about the freebsd-arch mailing list