… | |
… | |
98 | =head2 FEATURES |
98 | =head2 FEATURES |
99 | |
99 | |
100 | Libev supports C<select>, C<poll>, the Linux-specific C<epoll>, the |
100 | Libev supports C<select>, C<poll>, the Linux-specific C<epoll>, the |
101 | BSD-specific C<kqueue> and the Solaris-specific event port mechanisms |
101 | BSD-specific C<kqueue> and the Solaris-specific event port mechanisms |
102 | for file descriptor events (C<ev_io>), the Linux C<inotify> interface |
102 | for file descriptor events (C<ev_io>), the Linux C<inotify> interface |
103 | (for C<ev_stat>), relative timers (C<ev_timer>), absolute timers |
103 | (for C<ev_stat>), Linux eventfd/signalfd (for faster and cleaner |
104 | with customised rescheduling (C<ev_periodic>), synchronous signals |
104 | inter-thread wakeup (C<ev_async>)/signal handling (C<ev_signal>)) relative |
105 | (C<ev_signal>), process status change events (C<ev_child>), and event |
105 | timers (C<ev_timer>), absolute timers with customised rescheduling |
106 | watchers dealing with the event loop mechanism itself (C<ev_idle>, |
106 | (C<ev_periodic>), synchronous signals (C<ev_signal>), process status |
107 | C<ev_embed>, C<ev_prepare> and C<ev_check> watchers) as well as |
107 | change events (C<ev_child>), and event watchers dealing with the event |
108 | file watchers (C<ev_stat>) and even limited support for fork events |
108 | loop mechanism itself (C<ev_idle>, C<ev_embed>, C<ev_prepare> and |
109 | (C<ev_fork>). |
109 | C<ev_check> watchers) as well as file watchers (C<ev_stat>) and even |
|
|
110 | limited support for fork events (C<ev_fork>). |
110 | |
111 | |
111 | It also is quite fast (see this |
112 | It also is quite fast (see this |
112 | L<benchmark|http://libev.schmorp.de/bench.html> comparing it to libevent |
113 | L<benchmark|http://libev.schmorp.de/bench.html> comparing it to libevent |
113 | for example). |
114 | for example). |
114 | |
115 | |
… | |
… | |
3581 | keeps libev from including F<config.h>, and it also defines dummy |
3582 | keeps libev from including F<config.h>, and it also defines dummy |
3582 | implementations for some libevent functions (such as logging, which is not |
3583 | implementations for some libevent functions (such as logging, which is not |
3583 | supported). It will also not define any of the structs usually found in |
3584 | supported). It will also not define any of the structs usually found in |
3584 | F<event.h> that are not directly supported by the libev core alone. |
3585 | F<event.h> that are not directly supported by the libev core alone. |
3585 | |
3586 | |
3586 | In stanbdalone mode, libev will still try to automatically deduce the |
3587 | In standalone mode, libev will still try to automatically deduce the |
3587 | configuration, but has to be more conservative. |
3588 | configuration, but has to be more conservative. |
3588 | |
3589 | |
3589 | =item EV_USE_MONOTONIC |
3590 | =item EV_USE_MONOTONIC |
3590 | |
3591 | |
3591 | If defined to be C<1>, libev will try to detect the availability of the |
3592 | If defined to be C<1>, libev will try to detect the availability of the |