ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/libev/ev.pod
(Generate patch)

Comparing libev/ev.pod (file contents):
Revision 1.269 by root, Mon Aug 31 14:51:48 2009 UTC vs.
Revision 1.273 by root, Tue Nov 24 14:46:59 2009 UTC

370When this flag is specified, then libev will not attempt to use the 370When this flag is specified, then libev will not attempt to use the
371I<inotify> API for it's C<ev_stat> watchers. Apart from debugging and 371I<inotify> API for it's C<ev_stat> watchers. Apart from debugging and
372testing, this flag can be useful to conserve inotify file descriptors, as 372testing, this flag can be useful to conserve inotify file descriptors, as
373otherwise each loop using C<ev_stat> watchers consumes one inotify handle. 373otherwise each loop using C<ev_stat> watchers consumes one inotify handle.
374 374
375=item C<EVFLAG_NOSIGNALFD> 375=item C<EVFLAG_NOSIGFD>
376 376
377When this flag is specified, then libev will not attempt to use the 377When this flag is specified, then libev will not attempt to use the
378I<signalfd> API for it's C<ev_signal> (and C<ev_child>) watchers. This is 378I<signalfd> API for it's C<ev_signal> (and C<ev_child>) watchers. This is
379probably only useful to work around any bugs in libev. Consequently, this 379probably only useful to work around any bugs in libev. Consequently, this
380flag might go away once the signalfd functionality is considered stable, 380flag might go away once the signalfd functionality is considered stable,
410 410
411This backend maps C<EV_READ> to C<POLLIN | POLLERR | POLLHUP>, and 411This backend maps C<EV_READ> to C<POLLIN | POLLERR | POLLHUP>, and
412C<EV_WRITE> to C<POLLOUT | POLLERR | POLLHUP>. 412C<EV_WRITE> to C<POLLOUT | POLLERR | POLLHUP>.
413 413
414=item C<EVBACKEND_EPOLL> (value 4, Linux) 414=item C<EVBACKEND_EPOLL> (value 4, Linux)
415
416Use the linux-specific epoll(7) interface (for both pre- and post-2.6.9
417kernels).
415 418
416For few fds, this backend is a bit little slower than poll and select, 419For few fds, this backend is a bit little slower than poll and select,
417but it scales phenomenally better. While poll and select usually scale 420but it scales phenomenally better. While poll and select usually scale
418like O(total_fds) where n is the total number of fds (or the highest fd), 421like O(total_fds) where n is the total number of fds (or the highest fd),
419epoll scales either O(1) or O(active_fds). 422epoll scales either O(1) or O(active_fds).
1233watcher isn't pending it does nothing and returns C<0>. 1236watcher isn't pending it does nothing and returns C<0>.
1234 1237
1235Sometimes it can be useful to "poll" a watcher instead of waiting for its 1238Sometimes it can be useful to "poll" a watcher instead of waiting for its
1236callback to be invoked, which can be accomplished with this function. 1239callback to be invoked, which can be accomplished with this function.
1237 1240
1241=item ev_feed_event (struct ev_loop *, watcher *, int revents)
1242
1243Feeds the given event set into the event loop, as if the specified event
1244had happened for the specified watcher (which must be a pointer to an
1245initialised but not necessarily started event watcher). Obviously you must
1246not free the watcher as long as it has pending events.
1247
1248Stopping the watcher, letting libev invoke it, or calling
1249C<ev_clear_pending> will clear the pending event, even if the watcher was
1250not started in the first place.
1251
1252See also C<ev_feed_fd_event> and C<ev_feed_signal_event> for related
1253functions that do not need a watcher.
1254
1238=back 1255=back
1239 1256
1240 1257
1241=head2 ASSOCIATING CUSTOM DATA WITH A WATCHER 1258=head2 ASSOCIATING CUSTOM DATA WITH A WATCHER
1242 1259
2136to install a fork handler with C<pthread_atfork> that resets it. That will 2153to install a fork handler with C<pthread_atfork> that resets it. That will
2137catch fork calls done by libraries (such as the libc) as well. 2154catch fork calls done by libraries (such as the libc) as well.
2138 2155
2139In current versions of libev, you can also ensure that the signal mask is 2156In current versions of libev, you can also ensure that the signal mask is
2140not blocking any signals (except temporarily, so thread users watch out) 2157not blocking any signals (except temporarily, so thread users watch out)
2141by specifying the C<EVFLAG_NOSIGNALFD> when creating the event loop. This 2158by specifying the C<EVFLAG_NOSIGFD> when creating the event loop. This
2142is not guaranteed for future versions, however. 2159is not guaranteed for future versions, however.
2143 2160
2144=head3 Watcher-Specific Functions and Data Members 2161=head3 Watcher-Specific Functions and Data Members
2145 2162
2146=over 4 2163=over 4
3132 /* doh, nothing entered */; 3149 /* doh, nothing entered */;
3133 } 3150 }
3134 3151
3135 ev_once (STDIN_FILENO, EV_READ, 10., stdin_ready, 0); 3152 ev_once (STDIN_FILENO, EV_READ, 10., stdin_ready, 0);
3136 3153
3137=item ev_feed_event (struct ev_loop *, watcher *, int revents)
3138
3139Feeds the given event set into the event loop, as if the specified event
3140had happened for the specified watcher (which must be a pointer to an
3141initialised but not necessarily started event watcher).
3142
3143=item ev_feed_fd_event (struct ev_loop *, int fd, int revents) 3154=item ev_feed_fd_event (struct ev_loop *, int fd, int revents)
3144 3155
3145Feed an event on the given fd, as if a file descriptor backend detected 3156Feed an event on the given fd, as if a file descriptor backend detected
3146the given events it. 3157the given events it.
3147 3158

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines