Title: [275674] trunk/Source/WTF
Revision
275674
Author
stephan.sz...@sony.com
Date
2021-04-08 13:45:16 -0700 (Thu, 08 Apr 2021)

Log Message

[RunLoopGeneric] OneShotTimer should not remain "isActive" after fired
https://bugs.webkit.org/show_bug.cgi?id=189335
<rdar://problem/44226604>

Reviewed by Geoffrey Garen.

* wtf/generic/RunLoopGeneric.cpp:

Deactivate one-shot timer before invoking its callback.

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (275673 => 275674)


--- trunk/Source/WTF/ChangeLog	2021-04-08 20:04:35 UTC (rev 275673)
+++ trunk/Source/WTF/ChangeLog	2021-04-08 20:45:16 UTC (rev 275674)
@@ -1,3 +1,15 @@
+2021-04-08  Stephan Szabo  <stephan.sz...@sony.com>
+
+        [RunLoopGeneric] OneShotTimer should not remain "isActive" after fired
+        https://bugs.webkit.org/show_bug.cgi?id=189335
+        <rdar://problem/44226604>
+
+        Reviewed by Geoffrey Garen.
+
+        * wtf/generic/RunLoopGeneric.cpp:
+
+        Deactivate one-shot timer before invoking its callback.
+
 2021-04-08  Khem Raj  <raj.k...@gmail.com>
 
         [WPE] Build fixes for musl C library on Linux

Modified: trunk/Source/WTF/wtf/generic/RunLoopGeneric.cpp (275673 => 275674)


--- trunk/Source/WTF/wtf/generic/RunLoopGeneric.cpp	2021-04-08 20:04:35 UTC (rev 275673)
+++ trunk/Source/WTF/wtf/generic/RunLoopGeneric.cpp	2021-04-08 20:45:16 UTC (rev 275674)
@@ -50,12 +50,14 @@
         if (!isActive())
             return false;
 
+        if (!m_isRepeating)
+            deactivate();
+
+        if (isActive())
+            updateReadyTime();
+
         m_function();
 
-        if (!m_isRepeating)
-            return false;
-
-        updateReadyTime();
         return isActive();
     }
 
@@ -296,7 +298,7 @@
 
 bool RunLoop::TimerBase::isActive(const AbstractLocker&) const
 {
-    return m_scheduledTask;
+    return m_scheduledTask && m_scheduledTask->isActive();
 }
 
 Seconds RunLoop::TimerBase::secondsUntilFire() const
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to