[chuck-users] Semaphore class: wait for timeout or signal, whichever comes first