summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Hans Peter Freyther <zecke@selfish.org>2011-06-29 00:32:27 +0200
committerHolger Hans Peter Freyther <zecke@selfish.org>2011-06-29 00:32:27 +0200
commit49c376dbf60738448b0c925865d37042d96ebefd (patch)
treea94a5d1f9b816d7742b955d3b071fcfe87621471
parent3386942ce2435dfa63754f47c25e1c46d9a2db80 (diff)
timer: Dispatch the whole timer in the main block.
-rw-r--r--Timer.st8
1 files changed, 6 insertions, 2 deletions
diff --git a/Timer.st b/Timer.st
index 0ac40fc..438d2de 100644
--- a/Timer.st
+++ b/Timer.st
@@ -125,7 +125,7 @@ bit difficult to do this race free.'>
(Delay forSeconds: 1) wait.
now := DateTime now.
- self fireTimers: now.
+ OsmoDispatcher dispatchBlock: [self fireTimers: now].
]
]
@@ -143,7 +143,11 @@ bit difficult to do this race free.'>
copy do: [:each |
each timeout > now ifTrue: [^true].
sem critical: [queue remove: each].
- OsmoDispatcher dispatchBlock: [each fire].
+ [
+ each fire
+ ] on: Error do: [:e |
+ e logException: 'Execution of timer failed: %1' % {e tag} area: #timer.
+ ].
].
]
]