I think the big question is: what happens if the handler takes so long that the same timer expires again before the handler has finished…
Start Periodic Timer
|
| timer
| running
|
+--expires--> Enter Handler
| |
| timer |handler
| running |running
| |for
+--expires--> |a <<*** WHAT HAPPENS HERE??
| |long
| |time
See: BUG: In the ongoing saga of timers, our hero boldly codes