summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ev.pod21
1 files changed, 15 insertions, 6 deletions
diff --git a/ev.pod b/ev.pod
index 7e9a2be..1f6aabb 100644
--- a/ev.pod
+++ b/ev.pod
@@ -2110,15 +2110,24 @@ do stuff) the timer will not fire more than once per event loop iteration.
=item ev_timer_again (loop, ev_timer *)
-This will act as if the timer timed out and restarts it again if it is
-repeating. The exact semantics are:
+This will act as if the timer timed out, and restarts it again if it is
+repeating. It basically works like calling C<ev_timer_stop>, updating the
+timeout to the C<repeat> value and calling C<ev_timer_start>.
-If the timer is pending, its pending status is cleared.
+The exact semantics are as in the wollofing rules, all of which will be
+applied to the watcher:
-If the timer is started but non-repeating, stop it (as if it timed out).
+=over 4
+
+=item If the timer is pending, the pending status is always cleared.
+
+=item If the timer is started but non-repeating, stop it (as if it timed
+out, without invoking it).
-If the timer is repeating, either start it if necessary (with the
-C<repeat> value), or reset the running timer to the C<repeat> value.
+=item If the timer is repeating, make the C<repeat> value the new timeout
+and start the timer, if necessary.
+
+=back
This sounds a bit complicated, see L<Be smart about timeouts>, above, for a
usage example.