From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: Date: Mon, 21 Apr 2014 15:50:41 +0200 From: cinap_lenrek@felloff.net To: 9fans@9fans.net In-Reply-To: <81d85b5f6bf4ad23652d7205c401c92d@jitaku.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] What happened on lib9p? Topicbox-Message-UUID: da5ac736-ead8-11e9-9d60-3106f5b1d025 no, it is not. in the kernel, you can only have one process doing a sleep on a rendezvous point at a time. so when you have multiple waiter processes, you put a qlock arround the sleep so the first process goes into the sleep and follow up processes will get queued on the qlock. the problem with this construct is that only the first process thats in the sleep can be interrupted / killed. the processes queued in the qlock are uninterruptable / unkillable as long as they wait for the qlock to be available. the eqlock() is a interruptable version of the qlock() call. that is, it can error out when the process receives a note. -- cinap