Make sure calls to removeWaiter() happen strictly under lock.
Make sure calls to removeWaiter() happen strictly under lock.

Note that at present I think the only way they would have happened not under-lock is if one of the pthread or syscalls failed, which should never happen. Exceptions thrown by the predicate were already always rethrown under lock. But it doesn't hurt to be safe.

mologie/capnproto,mologie/capnproto,mologie/capnproto