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

Comparing libev/ev.pod (file contents):
Revision 1.403 by sf-exg, Wed Apr 18 06:56:53 2012 UTC vs.
Revision 1.405 by root, Thu May 3 15:07:15 2012 UTC

1174 1174
1175=item C<EV_PREPARE> 1175=item C<EV_PREPARE>
1176 1176
1177=item C<EV_CHECK> 1177=item C<EV_CHECK>
1178 1178
1179All C<ev_prepare> watchers are invoked just I<before> C<ev_run> starts 1179All C<ev_prepare> watchers are invoked just I<before> C<ev_run> starts to
1180to gather new events, and all C<ev_check> watchers are invoked just after 1180gather new events, and all C<ev_check> watchers are queued (not invoked)
1181C<ev_run> has gathered them, but before it invokes any callbacks for any 1181just after C<ev_run> has gathered them, but before it queues any callbacks
1182for any received events. That means C<ev_prepare> watchers are the last
1183watchers invoked before the event loop sleeps or polls for new events, and
1184C<ev_check> watchers will be invoked before any other watchers of the same
1185or lower priority within an event loop iteration.
1186
1182received events. Callbacks of both watcher types can start and stop as 1187Callbacks of both watcher types can start and stop as many watchers as
1183many watchers as they want, and all of them will be taken into account 1188they want, and all of them will be taken into account (for example, a
1184(for example, a C<ev_prepare> watcher might start an idle watcher to keep 1189C<ev_prepare> watcher might start an idle watcher to keep C<ev_run> from
1185C<ev_run> from blocking). 1190blocking).
1186 1191
1187=item C<EV_EMBED> 1192=item C<EV_EMBED>
1188 1193
1189The embedded event loop specified in the C<ev_embed> watcher needs attention. 1194The embedded event loop specified in the C<ev_embed> watcher needs attention.
1190 1195
3313it by calling C<ev_async_send>, which is thread- and signal safe. 3318it by calling C<ev_async_send>, which is thread- and signal safe.
3314 3319
3315This functionality is very similar to C<ev_signal> watchers, as signals, 3320This functionality is very similar to C<ev_signal> watchers, as signals,
3316too, are asynchronous in nature, and signals, too, will be compressed 3321too, are asynchronous in nature, and signals, too, will be compressed
3317(i.e. the number of callback invocations may be less than the number of 3322(i.e. the number of callback invocations may be less than the number of
3318C<ev_async_sent> calls). In fact, you could use signal watchers as a kind 3323C<ev_async_send> calls). In fact, you could use signal watchers as a kind
3319of "global async watchers" by using a watcher on an otherwise unused 3324of "global async watchers" by using a watcher on an otherwise unused
3320signal, and C<ev_feed_signal> to signal this watcher from another thread, 3325signal, and C<ev_feed_signal> to signal this watcher from another thread,
3321even without knowing which loop owns the signal. 3326even without knowing which loop owns the signal.
3322 3327
3323=head3 Queueing 3328=head3 Queueing

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines