Files
libuev/README.md
T
2013-07-21 11:55:07 +02:00

47 lines
1.3 KiB
Markdown

libuev - Micro event loop library
=================================
The libuev library is a small event library in the style of the
venerable Xt(3) event loop.
Basically an event context is created and handlers for timers and I/O
stream events can be registered with this context.
After initial setup, the typical application will enter the event loop
that will only return at program termination.
The C API
---------
The typical application will do the following steps
1. Create the event context with `uev_ctx_create()`
2. Register callbacks with `uev_io_create()` and `uev_timer_create()`
3. Enter the event loop with uev_run()
**Note:** Make sure to use non-blocking stream I/O!
Build & Install
---------------
The library is built and developed for GNU/Linux systems, as such it may
use GNU GCC and GNU Make specific features, but may also work with other
UNIX systems as well.
* `make all`: The library
* `make test`: Test and showcase
* `make install`: Honors $prefix and $DESTDIR environment variables
Warning
-------
Please be advised, libuev is not thread safe! It is primarily intended
for use-cases where the engineed wants to avoid the use of threads.
However, if you insist on trying to use libuev with threads, the `uev_t`
structure needs mutex protection against simultaneous access.