Commit 5bade0a1 authored by Dan Egnor's avatar Dan Egnor
Browse files

libevent tweaks

parent 85ae7b91
......@@ -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>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment