Go to most recent revision | 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> |