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

Comparing libev/ev.pod (file contents):
Revision 1.228 by root, Sat Mar 28 08:22:30 2009 UTC vs.
Revision 1.229 by root, Wed Apr 15 17:49:27 2009 UTC

726 726
727If you have a watcher you never unregister that should not keep C<ev_loop> 727If you have a watcher you never unregister that should not keep C<ev_loop>
728from returning, call ev_unref() after starting, and ev_ref() before 728from returning, call ev_unref() after starting, and ev_ref() before
729stopping it. 729stopping it.
730 730
731As an example, libev itself uses this for its internal signal pipe: It is 731As an example, libev itself uses this for its internal signal pipe: It
732not visible to the libev user and should not keep C<ev_loop> from exiting 732is not visible to the libev user and should not keep C<ev_loop> from
733if no event watchers registered by it are active. It is also an excellent 733exiting if no event watchers registered by it are active. It is also an
734way to do this for generic recurring timers or from within third-party 734excellent way to do this for generic recurring timers or from within
735libraries. Just remember to I<unref after start> and I<ref before stop> 735third-party libraries. Just remember to I<unref after start> and I<ref
736(but only if the watcher wasn't active before, or was active before, 736before stop> (but only if the watcher wasn't active before, or was active
737respectively). 737before, respectively. Note also that libev might stop watchers itself
738(e.g. non-repeating timers) in which case you have to C<ev_ref>
739in the callback).
738 740
739Example: Create a signal watcher, but keep it from keeping C<ev_loop> 741Example: Create a signal watcher, but keep it from keeping C<ev_loop>
740running when nothing else is active. 742running when nothing else is active.
741 743
742 ev_signal exitsig; 744 ev_signal exitsig;
925C<ev_fork>). 927C<ev_fork>).
926 928
927=item C<EV_ASYNC> 929=item C<EV_ASYNC>
928 930
929The given async watcher has been asynchronously notified (see C<ev_async>). 931The given async watcher has been asynchronously notified (see C<ev_async>).
932
933=item C<EV_CUSTOM>
934
935Not ever sent (or otherwise used) by libev itself, but can be freely used
936by libev users to signal watchers (e.g. via C<ev_feed_event>).
930 937
931=item C<EV_ERROR> 938=item C<EV_ERROR>
932 939
933An unspecified error has occurred, the watcher has been stopped. This might 940An unspecified error has occurred, the watcher has been stopped. This might
934happen because the watcher could not be properly started because libev 941happen because the watcher could not be properly started because libev

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines