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

Comparing libev/ev.pod (file contents):
Revision 1.338 by root, Sun Oct 31 21:16:26 2010 UTC vs.
Revision 1.340 by root, Wed Nov 3 20:03:21 2010 UTC

241the current system, you would need to look at C<ev_embeddable_backends () 241the current system, you would need to look at C<ev_embeddable_backends ()
242& ev_supported_backends ()>, likewise for recommended ones. 242& ev_supported_backends ()>, likewise for recommended ones.
243 243
244See the description of C<ev_embed> watchers for more info. 244See the description of C<ev_embed> watchers for more info.
245 245
246=item ev_set_allocator (void *(*cb)(void *ptr, long size)) [NOT REENTRANT] 246=item ev_set_allocator (void *(*cb)(void *ptr, long size))
247 247
248Sets the allocation function to use (the prototype is similar - the 248Sets the allocation function to use (the prototype is similar - the
249semantics are identical to the C<realloc> C89/SuS/POSIX function). It is 249semantics are identical to the C<realloc> C89/SuS/POSIX function). It is
250used to allocate and free memory (no surprises here). If it returns zero 250used to allocate and free memory (no surprises here). If it returns zero
251when memory needs to be allocated (C<size != 0>), the library might abort 251when memory needs to be allocated (C<size != 0>), the library might abort
277 } 277 }
278 278
279 ... 279 ...
280 ev_set_allocator (persistent_realloc); 280 ev_set_allocator (persistent_realloc);
281 281
282=item ev_set_syserr_cb (void (*cb)(const char *msg)); [NOT REENTRANT] 282=item ev_set_syserr_cb (void (*cb)(const char *msg))
283 283
284Set the callback function to call on a retryable system call error (such 284Set the callback function to call on a retryable system call error (such
285as failed select, poll, epoll_wait). The message is a printable string 285as failed select, poll, epoll_wait). The message is a printable string
286indicating the system call or subsystem causing the problem. If this 286indicating the system call or subsystem causing the problem. If this
287callback is set, then libev will expect it to remedy the situation, no 287callback is set, then libev will expect it to remedy the situation, no
402environment variable. 402environment variable.
403 403
404=item C<EVFLAG_NOINOTIFY> 404=item C<EVFLAG_NOINOTIFY>
405 405
406When this flag is specified, then libev will not attempt to use the 406When this flag is specified, then libev will not attempt to use the
407I<inotify> API for it's C<ev_stat> watchers. Apart from debugging and 407I<inotify> API for its C<ev_stat> watchers. Apart from debugging and
408testing, this flag can be useful to conserve inotify file descriptors, as 408testing, this flag can be useful to conserve inotify file descriptors, as
409otherwise each loop using C<ev_stat> watchers consumes one inotify handle. 409otherwise each loop using C<ev_stat> watchers consumes one inotify handle.
410 410
411=item C<EVFLAG_SIGNALFD> 411=item C<EVFLAG_SIGNALFD>
412 412
413When this flag is specified, then libev will attempt to use the 413When this flag is specified, then libev will attempt to use the
414I<signalfd> API for it's C<ev_signal> (and C<ev_child>) watchers. This API 414I<signalfd> API for its C<ev_signal> (and C<ev_child>) watchers. This API
415delivers signals synchronously, which makes it both faster and might make 415delivers signals synchronously, which makes it both faster and might make
416it possible to get the queued signal data. It can also simplify signal 416it possible to get the queued signal data. It can also simplify signal
417handling with threads, as long as you properly block signals in your 417handling with threads, as long as you properly block signals in your
418threads that are not interested in handling them. 418threads that are not interested in handling them.
419 419
619This function is normally used on loop objects allocated by 619This function is normally used on loop objects allocated by
620C<ev_loop_new>, but it can also be used on the default loop returned by 620C<ev_loop_new>, but it can also be used on the default loop returned by
621C<ev_default_loop>, in which case it is not thread-safe. 621C<ev_default_loop>, in which case it is not thread-safe.
622 622
623Note that it is not advisable to call this function on the default loop 623Note that it is not advisable to call this function on the default loop
624except in the rare occasion where you really need to free it's resources. 624except in the rare occasion where you really need to free its resources.
625If you need dynamically allocated loops it is better to use C<ev_loop_new> 625If you need dynamically allocated loops it is better to use C<ev_loop_new>
626and C<ev_loop_destroy>. 626and C<ev_loop_destroy>.
627 627
628=item ev_loop_fork (loop) 628=item ev_loop_fork (loop)
629 629
2260 2260
2261=head2 C<ev_signal> - signal me when a signal gets signalled! 2261=head2 C<ev_signal> - signal me when a signal gets signalled!
2262 2262
2263Signal watchers will trigger an event when the process receives a specific 2263Signal watchers will trigger an event when the process receives a specific
2264signal one or more times. Even though signals are very asynchronous, libev 2264signal one or more times. Even though signals are very asynchronous, libev
2265will try it's best to deliver signals synchronously, i.e. as part of the 2265will try its best to deliver signals synchronously, i.e. as part of the
2266normal event processing, like any other event. 2266normal event processing, like any other event.
2267 2267
2268If you want signals to be delivered truly asynchronously, just use 2268If you want signals to be delivered truly asynchronously, just use
2269C<sigaction> as you would do without libev and forget about sharing 2269C<sigaction> as you would do without libev and forget about sharing
2270the signal. You can even use C<ev_async> from a signal handler to 2270the signal. You can even use C<ev_async> from a signal handler to

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines