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> |