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

Comparing libev/ev.pod (file contents):
Revision 1.24 by root, Mon Nov 12 19:20:05 2007 UTC vs.
Revision 1.27 by root, Wed Nov 14 05:02:07 2007 UTC

56 56
57=over 4 57=over 4
58 58
59=item ev_tstamp ev_time () 59=item ev_tstamp ev_time ()
60 60
61Returns the current time as libev would use it. 61Returns the current time as libev would use it. Please note that the
62C<ev_now> function is usually faster and also often returns the timestamp
63you actually want to know.
62 64
63=item int ev_version_major () 65=item int ev_version_major ()
64 66
65=item int ev_version_minor () 67=item int ev_version_minor ()
66 68
237 239
238This flags value could be used to implement alternative looping 240This flags value could be used to implement alternative looping
239constructs, but the C<prepare> and C<check> watchers provide a better and 241constructs, but the C<prepare> and C<check> watchers provide a better and
240more generic mechanism. 242more generic mechanism.
241 243
244Here are the gory details of what ev_loop does:
245
246 1. If there are no active watchers (reference count is zero), return.
247 2. Queue and immediately call all prepare watchers.
248 3. If we have been forked, recreate the kernel state.
249 4. Update the kernel state with all outstanding changes.
250 5. Update the "event loop time".
251 6. Calculate for how long to block.
252 7. Block the process, waiting for events.
253 8. Update the "event loop time" and do time jump handling.
254 9. Queue all outstanding timers.
255 10. Queue all outstanding periodics.
256 11. If no events are pending now, queue all idle watchers.
257 12. Queue all check watchers.
258 13. Call all queued watchers in reverse order (i.e. check watchers first).
259 14. If ev_unloop has been called or EVLOOP_ONESHOT or EVLOOP_NONBLOCK
260 was used, return, otherwise continue with step #1.
261
242=item ev_unloop (loop, how) 262=item ev_unloop (loop, how)
243 263
244Can be used to make a call to C<ev_loop> return early (but only after it 264Can be used to make a call to C<ev_loop> return early (but only after it
245has processed all outstanding events). The C<how> argument must be either 265has processed all outstanding events). The C<how> argument must be either
246C<EVUNLOOP_ONCE>, which will make the innermost C<ev_loop> call return, or 266C<EVUNLOOP_ONE>, which will make the innermost C<ev_loop> call return, or
247C<EVUNLOOP_ALL>, which will make all nested C<ev_loop> calls return. 267C<EVUNLOOP_ALL>, which will make all nested C<ev_loop> calls return.
248 268
249=item ev_ref (loop) 269=item ev_ref (loop)
250 270
251=item ev_unref (loop) 271=item ev_unref (loop)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines