condition variable signal/bcast need not wake unless there are waiters