Repository navigation
Commit e6086f2
fix TimerQueue shutdown race that left cancelled items in the queue (#1200)
~TimerQueue raised m_finish before cancelAll(), and run() exited its loop
without a last checkWork(). A worker woken by cancel() right before the
shutdown left the loop with items still queued: the assert fired in Debug
(Decorator.DestroyTreeWhileTimerIsPending, ~90% of local runs) and in
Release the pending handlers were never invoked with aborted=true.
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>1 parent b4137a1 commit e6086f2
1 file changed
Lines changed: 8 additions & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
85 | 85 | | |
86 | 86 | | |
87 | 87 | | |
88 | | - | |
| 88 | + | |
| 89 | + | |
89 | 90 | | |
| 91 | + | |
| 92 | + | |
90 | 93 | | |
91 | 94 | | |
92 | 95 | | |
| |||
204 | 207 | | |
205 | 208 | | |
206 | 209 | | |
| 210 | + | |
| 211 | + | |
| 212 | + | |
| 213 | + | |
207 | 214 | | |
208 | 215 | | |
209 | 216 | | |
| |||
0 commit comments