revised signalWaiters