So what I not understand about this design is how one uses it. In the classic condvar application one waits atomically with the lock because otherwise the other thread may deliver the signal before the wait happens, leading to a deadlock.
Here it seems there is no atomicity. How does this get used?
Here it seems there is no atomicity. How does this get used?