Subversion Repositories

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

Rev 3 | Details | Compare with Previous | 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>.
4 magnus 24
Refer to the <a href="why.html#glib">rationale</a> for a detailed comparison.
3 magnus 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>
4 magnus 46
<dt><a href="why.html">Extended rationale</a>
3 magnus 47
<dd>Why everyone should be using liboop.
4 magnus 48
<dt><a href="how.html">Introduction and overview</a>
3 magnus 49
<dd>How liboop works; basic principles of operation.
4 magnus 50
<dt><a href="ref.html">Reference</a>
3 magnus 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
4 magnus 69
<dd>Version 0.8 released, including a <a href="oop_tcl.html">source adapter</a>
3 magnus 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
4 magnus 74
<dd>Version 0.6 released, including a <a href="oop_rl.html">sink adapter</a>
3 magnus 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
4 magnus 80
<a href="on_fd.html">file descriptor deregistration interface</a> changed, and we
81
now have a <a href="oop_glib.html">source adapter</a> for
82
<a href="http://gtk.org/">GLib</a>, and a <a href="oop_www.html">sink adapter</a>
3 magnus 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
4 magnus 88
<a href="oop_adns.html">adapter</a> for
3 magnus 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
4 magnus 103
<a href="alloc.html">alternate memory allocation functions</a>.
3 magnus 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>