diff --git a/why.html b/why.html index c178b36db9917efad59609c153a1ee9bd5879c6e..8757bb891a6ab08c0d71d5bcc09853b8924d4789 100644 --- a/why.html +++ b/why.html @@ -105,35 +105,32 @@ which can in turn be implemented on top of most widget sets.<p> <dt><em>Doesn't GLib's <a href="http://developer.gnome.org/doc/API/glib/glib-the-main-event-loop.html">Main Event Loop</a> do all this, and more?</em> -<dd>Not quite. GLib probably comes the closest of anything else out there; -it is a fine implementation of an event loop (with priorities, even!) that -supports some extensibility (such as the ability to add extra sources). -However, I'm doubtful that it extends far enough to be adapted to run on top -of someone else's event loop (such as the Tk event loop). Furthermore, the -GLib event loop doesn't manage signals; part of why I wrote liboop was that -synchronously handling asynchronous signals is very difficult to do properly -and safely in most existing systems (without kludges like polling).<p> +<dd>Not quite. GLib is a fine implementation of an event loop (with +bells and whistles) that supports some extensibility (such as the ability to +add extra sources). However, I'm doubtful that it extends far enough that +it could run on top of someone else's event loop (such as the Tk event loop). +Furthermore, the GLib event loop doesn't manage signals; synchronous handling +of asynchronous signals is very difficult to do properly and safely in most +existing systems (without kludges like polling). + +<p>In any case, we do have a +<a href="oop_glib">GLib source adapter</a> so you can use the GLib event loop +with the liboop interface.</p> <dt><em>How does liboop compare to Niels Provos' <a href="http://www.monkey.org/~provos/libevent/">libevent</a>?</em> <dd>Like GLib, libevent is a concrete implementation of an event loop, not -an abstract interface for many event loops; like GLib, libevent does not +an abstract interface for many event loops; also like GLib, libevent does not manage signals. Libevent is smaller and simpler than either liboop or Glib. While liboop and GLib are both licensed under the <a href="http://www.fsf.org/copyleft/lesser.html">Lesser GPL</a>, libevent appears to be licensed under the original BSD license, including the advertising clause. Note that the advertising clause renders libevent -incompatible with GPL software!<p> +incompatible with GPL software! + +<p>It is entirely possible to imagine a libevent source adapter for liboop. +If anyone is interested in such an adapter, please contact me.</p> -<dt><em>Shouldn't you have spent your effort improving GLib's (or someone -else's) event loop instead?</em> -<dd>Perhaps. But GLib is a big library. I think I'd rather have a very small, -specialized library that just does this one task, and does it well, and -provides minimal interference with what everyone else is doing. Or maybe I'm -just a bad team player; you decide. -(That's what free software is all about!) In any case, we do have a -<a href="oop_glib">GLib source adapter</a> so you can use the GLib event loop -with the liboop interface.<p> </dl> <hr><a href="">liboop home</a></body></html>