Update README

This commit is contained in:
Joachim Nilsson committed 2013-07-21 11:55:07 +02:00
1 parent ec9351bfdd
commit f590237403
1 file changed
+30 -23
+30 -23
View File
@@ -1,39 +1,46 @@
libuev - Asynchronous event loop library libuev - Micro event loop library
======================================== =================================
The libuev library is a small event library in the style of the venerable The libuev library is a small event library in the style of the
Xt(3) event loop. venerable Xt(3) event loop.
Basically an event context is created,and handlers for timeounts and stream Basically an event context is created and handlers for timers and I/O
events can be registered with this context. 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.
After initial setup, the typical application will enter the event loop that
will only return at program termination.
The C API The C API
--------- ---------
The typical application will do the following steps The typical application will do the following steps
1. Create the event context with uev_ctx_create() 1. Create the event context with `uev_ctx_create()`
2. Register callbacks with uev_io_create() and uev_timer_create() 2. Register callbacks with `uev_io_create()` and `uev_timer_create()`
3. Enter the event loop with uev_run() 3. Enter the event loop with uev_run()
Building **Note:** Make sure to use non-blocking stream I/O!
--------
Use make:
* make all: The library
* make test: Test and showcase
Installation Build & Install
------------ ---------------
Is purely manual, but would be something along the lines of:
sudo install -m 444 libuev.so.1 /usr/lib/libuev.so.1 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 Warning
------- -------
Not thread safe!
The ctxt structure needs mutex protection in case of multi threaded Please be advised, libuev is not thread safe! It is primarily intended
access. 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.