Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
www
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Model registry
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
GitLab community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Fernando Ortiz
www
Commits
5bade0a1
Commit
5bade0a1
authored
Jun 5, 2001
by
Dan Egnor
Browse files
Options
Downloads
Patches
Plain Diff
libevent tweaks
parent
85ae7b91
No related branches found
No related tags found
No related merge requests found
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
why.html
+16
-19
16 additions, 19 deletions
why.html
with
16 additions
and
19 deletions
why.html
+
16
−
19
View file @
5bade0a1
...
@@ -105,35 +105,32 @@ which can in turn be implemented on top of most widget sets.<p>
...
@@ -105,35 +105,32 @@ which can in turn be implemented on top of most widget sets.<p>
<dt><em>
Doesn't GLib's
<a
<dt><em>
Doesn't GLib's
<a
href=
"http://developer.gnome.org/doc/API/glib/glib-the-main-event-loop.html"
>
Main
href=
"http://developer.gnome.org/doc/API/glib/glib-the-main-event-loop.html"
>
Main
Event Loop
</a>
do all this, and more?
</em>
Event Loop
</a>
do all this, and more?
</em>
<dd>
Not quite. GLib probably comes the closest of anything else out there;
<dd>
Not quite. GLib is a fine implementation of an event loop (with
it is a fine implementation of an event loop (with priorities, even!) that
bells and whistles) that supports some extensibility (such as the ability to
supports some extensibility (such as the ability to add extra sources).
add extra sources). However, I'm doubtful that it extends far enough that
However, I'm doubtful that it extends far enough to be adapted to run on top
it could run on top of someone else's event loop (such as the Tk event loop).
of someone else's event loop (such as the Tk event loop). Furthermore, the
Furthermore, the GLib event loop doesn't manage signals; synchronous handling
GLib event loop doesn't manage signals; part of why I wrote liboop was that
of asynchronous signals is very difficult to do properly and safely in most
synchronously handling asynchronous signals is very difficult to do properly
existing systems (without kludges like polling).
and safely in most existing systems (without kludges like polling).
<p>
<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
<dt><em>
How does liboop compare to Niels Provos'
<a
href=
"http://www.monkey.org/~provos/libevent/"
>
libevent
</a>
?
</em>
href=
"http://www.monkey.org/~provos/libevent/"
>
libevent
</a>
?
</em>
<dd>
Like GLib, libevent is a concrete implementation of an event loop, not
<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.
manage signals. Libevent is smaller and simpler than either liboop or Glib.
While liboop and GLib are both licensed under the
While liboop and GLib are both licensed under the
<a
href=
"http://www.fsf.org/copyleft/lesser.html"
>
Lesser GPL
</a>
, libevent
<a
href=
"http://www.fsf.org/copyleft/lesser.html"
>
Lesser GPL
</a>
, libevent
appears to be licensed under the original BSD license, including the
appears to be licensed under the original BSD license, including the
advertising clause. Note that the advertising clause renders libevent
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>
</dl>
<hr><a
href=
""
>
liboop home
</a></body></html>
<hr><a
href=
""
>
liboop home
</a></body></html>
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment