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
