]> git.llucax.com Git - software/libev.git/blobdiff - ev.pod
libevent integration
[software/libev.git] / ev.pod
diff --git a/ev.pod b/ev.pod
index 241fadeb0d8583805516d7e54bc4e3041fe3dde5..fbb7ff39af2310fb539e1e1d095d4cbde9dd5d63 100644 (file)
--- a/ev.pod
+++ b/ev.pod
@@ -65,12 +65,13 @@ watcher.
 
 =head1 FEATURES
 
-Libev supports C<select>, C<poll>, the linux-specific C<epoll>, the
-bsd-specific C<kqueue> and the solaris-specific event port mechanisms
-for file descriptor events (C<ev_io>), relative timers (C<ev_timer>),
-absolute timers with customised rescheduling (C<ev_periodic>), synchronous
-signals (C<ev_signal>), process status change events (C<ev_child>), and
-event watchers dealing with the event loop mechanism itself (C<ev_idle>,
+Libev supports C<select>, C<poll>, the Linux-specific C<epoll>, the
+BSD-specific C<kqueue> and the Solaris-specific event port mechanisms
+for file descriptor events (C<ev_io>), the Linux C<inotify> interface
+(for C<ev_stat>), relative timers (C<ev_timer>), absolute timers
+with customised rescheduling (C<ev_periodic>), synchronous signals
+(C<ev_signal>), process status change events (C<ev_child>), and event
+watchers dealing with the event loop mechanism itself (C<ev_idle>,
 C<ev_embed>, C<ev_prepare> and C<ev_check> watchers) as well as
 file watchers (C<ev_stat>) and even limited support for fork events
 (C<ev_fork>).
@@ -1224,7 +1225,7 @@ otherwise always forced to be at least one) and all the other fields of
 the stat buffer having unspecified contents.
 
 Since there is no standard to do this, the portable implementation simply
-calls C<stat (2)> regulalry on the path to see if it changed somehow. You
+calls C<stat (2)> regularly on the path to see if it changed somehow. You
 can specify a recommended polling interval for this case. If you specify
 a polling interval of C<0> (highly recommended!) then a I<suitable,
 unspecified default> value will be used (which you can expect to be around
@@ -1236,8 +1237,13 @@ This watcher type is not meant for massive numbers of stat watchers,
 as even with OS-supported change notifications, this can be
 resource-intensive.
 
-At the time of this writing, no specific OS backends are implemented, but
-if demand increases, at least a kqueue and inotify backend will be added.
+At the time of this writing, only the Linux inotify interface is
+implemented (implementing kqueue support is left as an exercise for the
+reader). Inotify will be used to give hints only and should not change the
+semantics of C<ev_stat> watchers, which means that libev sometimes needs
+to fall back to regular polling again even with inotify, but changes are
+usually detected immediately, and if the file exists there will be no
+polling.
 
 =over 4