-one iteration of the loop.
-.Sp
-This flags value could be used to implement alternative looping
-constructs, but the \f(CW\*(C`prepare\*(C'\fR and \f(CW\*(C`check\*(C'\fR watchers provide a better and
-more generic mechanism.
-.Sp
-Here are the gory details of what ev_loop does:
-.Sp
-.Vb 15
-\& 1. If there are no active watchers (reference count is zero), return.
-\& 2. Queue and immediately call all prepare watchers.
-\& 3. If we have been forked, recreate the kernel state.
-\& 4. Update the kernel state with all outstanding changes.
-\& 5. Update the "event loop time".
-\& 6. Calculate for how long to block.
-\& 7. Block the process, waiting for events.
-\& 8. Update the "event loop time" and do time jump handling.
-\& 9. Queue all outstanding timers.
-\& 10. Queue all outstanding periodics.
-\& 11. If no events are pending now, queue all idle watchers.
-\& 12. Queue all check watchers.
-\& 13. Call all queued watchers in reverse order (i.e. check watchers first).
-\& 14. If ev_unloop has been called or EVLOOP_ONESHOT or EVLOOP_NONBLOCK
-\& was used, return, otherwise continue with step #1.
+one iteration of the loop. This is useful if you are waiting for some
+external event in conjunction with something not expressible using other
+libev watchers. However, a pair of \f(CW\*(C`ev_prepare\*(C'\fR/\f(CW\*(C`ev_check\*(C'\fR watchers is
+usually a better approach for this kind of thing.
+.Sp
+Here are the gory details of what \f(CW\*(C`ev_loop\*(C'\fR does:
+.Sp
+.Vb 18
+\& * If there are no active watchers (reference count is zero), return.
+\& - Queue prepare watchers and then call all outstanding watchers.
+\& - If we have been forked, recreate the kernel state.
+\& - Update the kernel state with all outstanding changes.
+\& - Update the "event loop time".
+\& - Calculate for how long to block.
+\& - Block the process, waiting for any events.
+\& - Queue all outstanding I/O (fd) events.
+\& - Update the "event loop time" and do time jump handling.
+\& - Queue all outstanding timers.
+\& - Queue all outstanding periodics.
+\& - If no events are pending now, queue all idle watchers.
+\& - Queue all check watchers.
+\& - Call all queued watchers in reverse order (i.e. check watchers first).
+\& Signals and child watchers are implemented as I/O watchers, and will
+\& be handled here by queueing them when their watcher gets executed.
+\& - If ev_unloop has been called or EVLOOP_ONESHOT or EVLOOP_NONBLOCK
+\& were used, return, otherwise continue with step *.