On Sun, 20 Jan 2013 09:55:41 GMT, Sönke Ludwig wrote:

Until then, something like this ought to work:


Disclaimer: Don't try to use this with enableWorkerThreads() though, since Signal and Mutex in their current form were just an early attempt to make things work, but they lack proper thread-safety. Better versions of this and some other parts of the API are in the works, but it's still difficult in some places to statically guarantee thread-safety without compromising on the API (i.e. without it getting verbose, unintuitive or too restricted).

That worked perfectly. Thank you. I realize now why my version wasn't working. There was no yield to allow the other handler to proceed. This appears to be even better too because it isn't polling so it'll save my CPU even more work while being completely responsive.

You said timers were broken but this timed out fine. Is that just in HEAD? I'm using the D apt repo by Gordi so maybe they are working fine in the version he has up.