Handle a timer event; which can be either:
- a schedule or unschedule request (DelayEvent notNil)
- a timer signal (not explicitly specified)
We check for timer expiry every time we get a signal.
runDelayProcess
Run the timer event loop.
scheduleDelay: aDelay on: aSemaphore
Private - Schedule this Delay. Run in the timer process, which
is the only one that manipulates Queue.
startDelayLoop
Start the timer event loop.
unscheduleDelay: aDelay
Private. Unschedule this Delay. Run in the timer process, which
is the only one that manipulates Queue.