1 | libev is a high-performanc3 event loop/event model with lots of features. |
1 | libev is a high-performance event loop/event model with lots of features. |
2 | |
2 | |
3 | It is modelled (very losely) after libevent |
3 | It is modelled (very losely) after libevent |
4 | (http://monkey.org/~provos/libevent/) and the Event perl module, but aims |
4 | (http://monkey.org/~provos/libevent/) and the Event perl module, but aims |
5 | to be faster and more correct, and also more featureful. |
5 | to be faster and more correct, and also more featureful. |
6 | |
6 | |
… | |
… | |
25 | |
25 | |
26 | - timers can be repeating (both absolute and relative ones). |
26 | - timers can be repeating (both absolute and relative ones). |
27 | |
27 | |
28 | - detects time jumps and adjusts timers |
28 | - detects time jumps and adjusts timers |
29 | (works for both forward and backward time jumps and also for absolute timers). |
29 | (works for both forward and backward time jumps and also for absolute timers). |
30 | |
|
|
31 | - can correctly remove timers while executing callbacks |
|
|
32 | (libevent doesn't handle this reliably and can crash). |
|
|
33 | |
30 | |
34 | - race-free signal processing |
31 | - race-free signal processing |
35 | (libevent may delay processing signals till after the next event). |
32 | (libevent may delay processing signals till after the next event). |
36 | |
33 | |
37 | - less calls to epoll_ctl |
34 | - less calls to epoll_ctl |