[Webkit-unassigned] [Bug 62380] [EFL] correct sharedTimer value in SharedTimerEfl.cpp

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jun 9 18:16:36 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=62380


Henry Song <hsong at sisa.samsung.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
  Attachment #96651|0                           |1
        is obsolete|                            |
  Attachment #96651|review?, commit-queue?      |
               Flag|                            |
  Attachment #96682|                            |review?, commit-queue?
               Flag|                            |




--- Comment #15 from Henry Song <hsong at sisa.samsung.com>  2011-06-09 18:16:36 PST ---
Created an attachment (id=96682)
 --> (https://bugs.webkit.org/attachment.cgi?id=96682&action=review)
remove _sharedTimer = 0 in timerEvent()

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.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list