From 884a0a8e027cf993c05195afd00d0a9e8078417a Mon Sep 17 00:00:00 2001 From: root Date: Wed, 15 Apr 2009 18:47:07 +0000 Subject: timer ordering --- ev.pod | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) (limited to 'ev.pod') diff --git a/ev.pod b/ev.pod index ff1c29f..7061527 100644 --- a/ev.pod +++ b/ev.pod @@ -1326,8 +1326,10 @@ detecting time jumps is hard, and some inaccuracies are unavoidable (the monotonic clock option helps a lot here). The callback is guaranteed to be invoked only I its timeout has -passed, but if multiple timers become ready during the same loop iteration -then order of execution is undefined. +passed. If multiple timers become ready during the same loop iteration +then the ones with earlier time-out values are invoked before ones with +later time-out values (but this is no longer true when a callback calls +C recursively). =head3 Be smart about timeouts @@ -1626,9 +1628,10 @@ other complicated rules. This cannot be done with C watchers, as those cannot react to time jumps. As with timers, the callback is guaranteed to be invoked only when the -point in time where it is supposed to trigger has passed, but if multiple -periodic timers become ready during the same loop iteration, then order of -execution is undefined. +point in time where it is supposed to trigger has passed. If multiple +timers become ready during the same loop iteration then the ones with +earlier time-out values are invoked before ones with later time-out values +(but this is no longer true when a callback calls C recursively). =head3 Watcher-Specific Functions and Data Members -- cgit v1.2.3