[webkit-reviews] review requested: [Bug 62380] [EFL] correct sharedTimer value in SharedTimerEfl.cpp : [Attachment 96682] remove _sharedTimer = 0 in timerEvent()
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Thu Jun 9 18:16:36 PDT 2011
Henry Song <hsong at sisa.samsung.com> has asked for review:
Bug 62380: [EFL] correct sharedTimer value in SharedTimerEfl.cpp
https://bugs.webkit.org/show_bug.cgi?id=62380
Attachment 96682: remove _sharedTimer = 0 in timerEvent()
https://bugs.webkit.org/attachment.cgi?id=96682&action=review
------- Additional Comments from Henry Song <hsong at sisa.samsung.com>
SharedTimerEfl.cpp set _sharedTimer = 0 is incorrect in timerEvent(), we have
observed addNewTimer() can be triggered by either inside timerFunction() or
others that are not within timerFunction(). We have observed the following
case:
1. add a new Timer within timerFunction()
2. timerFunction returns, set _sharedTimer = 0
3. addNewTimer() is triggered again within webkit, don't know
it triggers this.
4. because at this moment, _sharedTimer == 0, the previous
registered timer (in step 1) did not get removed.
5. Now in ecore_timer, there are two timers with same callbacks
6. From now on, timerFunction() will be called twice back-to-back
in each ecore_timer loop.
To correct this, we should not set _sharedTimer = 0 after timerFunction() so
that when addNewTimer() triggered, it has a valid sharedTimer to delete.
timerEvent(), however, will still return ECORE_CALLBACK_CANCEL to allow
ecore_timer to remove current timer.
More information about the webkit-reviews
mailing list