Subversion Repositories

?revision_form?Rev ?revision_input??revision_submit??revision_endform?

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3 magnus 1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
3
<html><head>
4
<title>liboop home page</title>
5
<link rel="stylesheet" type="text/css" href="style.css">
6
</head><body>
7
<img src="logo" alt="liboop" width=202 height=50>
8
<p>
9
Liboop is a low-level event loop management library for POSIX-based operating
10
systems.  It supports the development of modular, multiplexed applications
11
which may respond to events from several sources.  It replaces the "select()
12
loop" and allows the registration of event handlers for file and network I/O,
13
timers and signals.  Since processes use these mechanisms for almost all
14
external communication, liboop can be used as the basis for almost any
15
application.
16
<p>
17
Liboop is licensed under the
18
<a href="http://www.fsf.org/copyleft/lesser.html">Lesser General Public
19
License</a>.
20
<p>
21
Similar free software includes the GLib <a
22
href="http://developer.gnome.org/doc/API/glib/glib-the-main-event-loop.html">Main
23
Event Loop</a>, Niels Provos' <a href="http://www.monkey.org/~provos/libevent/">libevent</a>, and (for Perl) <a href="http://poe.perl.org/">POE</a>.
24
Refer to the <a href="why#glib">rationale</a> for a detailed comparison.
25
<p>
26
Software which uses or supports liboop includes
27
<a href="http://www.lysator.liu.se/~nisse/lsh/">lsh</a>,
28
<a href="http://www.nongnu.org/ruli/">RULI</a>,
29
<a href="http://www.lysator.liu.se/lyskom/lyskom-server/">lyskom-server</a>,
30
<a href="http://gale.org/">Gale</a> and
31
<a href="http://gdn.berlios.de/">GDN</a>.  (Let me know if I'm missing any.)
32
 
33
<h3>Download.</h3>
34
 
35
Get the
36
<a href="http://download.ofb.net/liboop/liboop.tar.gz">latest version</a>.
37
Read the included INSTALL file.
38
<p>
39
You may also browse the CVS repository for
40
<a href="http://liboop.org/cvs/gale/liboop/">source code</a> or
41
<a href="http://liboop.org/cvs/liboop.org/">documentation</a>.
42
 
43
<h3>Documentation.</h3>
44
 
45
<dl>
46
<dt><a href="why">Extended rationale</a>
47
<dd>Why everyone should be using liboop.
48
<dt><a href="how">Introduction and overview</a>
49
<dd>How liboop works; basic principles of operation.
50
<dt><a href="ref">Reference</a>
51
<dd>Specific functions and data structures.
52
</dl>
53
 
54
<h3>News.</h3>
55
<dl>
56
<dt>27 October 2003
57
<dd>Version 1.0 released.  (The number has no special meaning, it's just
58
the next increment.)  The build is little more robust now, and you can enable
59
and disable specific adapters in the configure script.  The ADNS adapter
60
returns error messages, the GLib adapter works with GLib 2, and there's a
61
new oop_sys_run_once() function so you can poll an event source.<p>
62
 
63
<dt>11 January 2003
64
<dd>Version 0.9 released.  A memory leak when creating and destroying the
65
system event source was fixed, the robustness of signal handling is improved,
66
and some minor portability problems were fixed.<p>
67
 
68
<dt>18 September 2001
69
<dd>Version 0.8 released, including a <a href="oop_tcl">source adapter</a>
70
for <a href="http://www.purl.org/tcl/home/">Tcl/Tk</a>.  (0.7 was never
71
announced.)<p>
72
 
73
<dt>7 October 2000
74
<dd>Version 0.6 released, including a <a href="oop_rl">sink adapter</a>
75
for the <a href="http://cnswww.cns.cwru.edu/~chet/readline/rltop.html">GNU
76
Readline Library</a>.<p>
77
 
78
<dt>5 September 1999
79
<dd>Version 0.4 released.  Besides the usual bug fixes, the
80
<a href="on_fd">file descriptor deregistration interface</a> changed, and we
81
now have a <a href="oop_glib">source adapter</a> for
82
<a href="http://gtk.org/">GLib</a>, and a <a href="oop_www">sink adapter</a>
83
for the <a href="http://www.w3.org/Library/">W3C Protocol Library
84
(libwww)</a>!  The test/sample program (test-oop) is also quite improved.<p>
85
 
86
<dt>15 August 1999
87
<dd>Version 0.3 released.  This version includes an
88
<a href="oop_adns">adapter</a> for
89
<a href="http://www.chiark.greenend.org.uk/~ian/adns/">Ian Jackson's
90
asynchronous DNS resolver library</a>.<p>
91
 
92
<em>Note that while liboop is
93
covered by the lesser GPL, ADNS is covered by the <strong>full GPL</strong>,
94
and therefore any program which uses ADNS with (or without) liboop must
95
support distribution under the terms of the full GPL.</em><p>
96
 
97
<dt>1 August 1999
98
<dd>Version 0.2 released.  This release fixes several bugs, uses
99
<a href="http://www.gnu.org/software/autoconf/autoconf.html">autoconf</a>,
100
<a href="http://www.gnu.org/software/automake/automake.html">automake</a> and
101
<a href="http://www.gnu.org/software/libtool/libtool.html">libtool</a>,
102
and includes an interface for using
103
<a href="alloc">alternate memory allocation functions</a>.
104
<a href="">Gale</a> now uses liboop!<p>
105
 
106
<dt>5 July 1999
107
<dd>Version 0.1 released.  This is a very, very simple initial release that
108
should nevertheless work as a functional event loop.  No adapters are included
109
yet.  Testing is minimal, but give it a whirl!
110
</dl>
111
 
112
<hr><a href="http://ofb.net/~egnor/">Dan Egnor</a> (egnor
113
@
114
ofb.net)</body></html>