On Mon, Feb 06, 2012 at 01:46:59PM -0800, Adrian Chadd wrote: > Hi, > > the standard trick: > > * designate one thread as "signals here" and block signals on all other > threads; > * use pipes for sending signals between threads (ie, to wake them up); > * wish that kqueue and similar methods were portable.
Do Solaris event ports support signal queueing? Edge-triggered events? Most threading and signaling issues are far easier to handle, in my experience, once you take Windows out of the equation. *BSD, Linux, and Solaris pretty much constitute the entire market for newer software if you exclude Windows. And using edge-triggered signaling you could theoretically have a massively multi-threaded, shared event queue without any mutexes whatsoever. You'd have to ditch Windows or, conversely, ditch *BSD/Linux/Solaris. But you can't really have both unless you want your abstraction layer dwarfing the size of your actual application, along with the concomitant bugs. *********************************************************************** To unsubscribe, send an e-mail to majord...@freehaven.net with unsubscribe libevent-users in the body.