[webkit-reviews] review canceled: [Bug 62380] [EFL] correct sharedTimer value in SharedTimerEfl.cpp : [Attachment 96651] 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 canceled Henry Song
<hsong at sisa.samsung.com>'s request for review:
Bug 62380: [EFL] correct sharedTimer value in SharedTimerEfl.cpp
https://bugs.webkit.org/show_bug.cgi?id=62380

Attachment 96651: remove _sharedTimer = 0 in timerEvent()
https://bugs.webkit.org/attachment.cgi?id=96651&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