[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [Libevent-users] Asynchronous writes in the event loop model



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 majordomo@xxxxxxxxxxxxx with
unsubscribe libevent-users    in the body.