You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
fix: resolve timer bugs causing lost timers and resource leaks
Fixed five bugs in Timers.cpp:
- Inverted EAGAIN retry condition causing timer loss when pipe buffer full
- File descriptor leak (fd_[1] never closed in Destroy)
- deletedTimers_ accumulation for immediate timers cleared before callback
- Data race on stopped flag (now atomic)
- Non-EAGAIN write errors incorrectly treated as success
Additional improvements:
- Clean up deletedTimers_ when timer cancelled during EAGAIN retry
- Guard isBufferFull reset to only occur on actual write success
0 commit comments