public override void SignalAll() { AssertOwnership(); for (;;) { var w = _wq.Dequeue(); if (w == null) return; // no more to signal w.Signal(_sync); } }