Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 Apr 2010 23:13:31 +0100 (BST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Jilles Tjoelker <jilles@stack.nl>
Cc:        freebsd-arch@freebsd.org
Subject:   Re: so_rcv_sx, deadlkres, SIGSTOP
Message-ID:  <alpine.BSF.2.00.1004052309090.32745@fledge.watson.org>
In-Reply-To: <20100404175140.GB40499@stack.nl>
References:  <20100404175140.GB40499@stack.nl>

next in thread | previous in thread | raw e-mail | index | archive | help

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?alpine.BSF.2.00.1004052309090.32745>