Merge lp:~vanvugt/compiz-core/fix-timer-infinite-loop into lp:compiz-core/0.9.5
Proposed by
Daniel van Vugt
Status: | Superseded |
---|---|
Proposed branch: | lp:~vanvugt/compiz-core/fix-timer-infinite-loop |
Merge into: | lp:compiz-core/0.9.5 |
Diff against target: |
45 lines (+20/-12) 1 file modified
src/timer.cpp (+20/-12) |
To merge this branch: | bzr merge lp:~vanvugt/compiz-core/fix-timer-infinite-loop |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Sam Spilsbury | Needs Information | ||
Review via email: mp+81944@code.launchpad.net |
Description of the change
Fix infinite loop in CompTimeoutSour
The loop was growing the timers list at the same rate it was shrinking, so of course the loop never finished if any timer had minTime <= 0.
I have not seen this happen in the wild, but a quick grep shows it can in theory happen with the obs and regex plugins. Also, src/window.cpp contains comments with respect to bugs in setTimes(0, 0), which could be the same issue.
To post a comment you must log in.
Unmerged revisions
- 2894. By Daniel van Vugt
-
Fix infinite loop in CompTimeoutSour
ce::callback which hangs compiz. The loop was growing the timers list at the same rate it was shrinking,
so of course the loop never finished if any timer had minTime <= 0.
To clarify, I _have_ seen the infinite loop happen and compiz hang in my own branch where I called setTimes(0, 0). But I haven't seen it happen in a release.