Changeset 259016 in webkit


Ignore:
Timestamp:
Mar 25, 2020 3:53:10 PM (4 years ago)
Author:
sihui_liu@apple.com
Message:

Remove unused suspend functions in CrossThreadTaskHandler
https://bugs.webkit.org/show_bug.cgi?id=209553

Reviewed by Geoffrey Garen.

  • wtf/CrossThreadTaskHandler.cpp:

(WTF::CrossThreadTaskHandler::taskRunLoop):
(WTF::CrossThreadTaskHandler::suspendAndWait): Deleted.
(WTF::CrossThreadTaskHandler::resume): Deleted.

  • wtf/CrossThreadTaskHandler.h:
Location:
trunk/Source/WTF
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WTF/ChangeLog

    r258949 r259016  
     12020-03-25  Sihui Liu  <sihui_liu@apple.com>
     2
     3        Remove unused suspend functions in CrossThreadTaskHandler
     4        https://bugs.webkit.org/show_bug.cgi?id=209553
     5
     6        Reviewed by Geoffrey Garen.
     7
     8        * wtf/CrossThreadTaskHandler.cpp:
     9        (WTF::CrossThreadTaskHandler::taskRunLoop):
     10        (WTF::CrossThreadTaskHandler::suspendAndWait): Deleted.
     11        (WTF::CrossThreadTaskHandler::resume): Deleted.
     12        * wtf/CrossThreadTaskHandler.h:
     13
    1142020-03-24  Per Arne Vollan  <pvollan@apple.com>
    215
  • trunk/Source/WTF/wtf/CrossThreadTaskHandler.cpp

    r248846 r259016  
    7373
    7474    while (!m_taskQueue.isKilled()) {
    75         {
    76             std::unique_ptr<AutodrainedPool> autodrainedPool = (m_useAutodrainedPool == AutodrainedPoolForRunLoop::Use) ? makeUnique<AutodrainedPool>() : nullptr;
     75        std::unique_ptr<AutodrainedPool> autodrainedPool = (m_useAutodrainedPool == AutodrainedPoolForRunLoop::Use) ? makeUnique<AutodrainedPool>() : nullptr;
    7776
    78             m_taskQueue.waitForMessage().performTask();
    79         }
    80 
    81         Locker<Lock> shouldSuspendLocker(m_shouldSuspendLock);
    82         while (m_shouldSuspend) {
    83             m_suspendedLock.lock();
    84             if (!m_suspended) {
    85                 m_suspended = true;
    86                 m_suspendedCondition.notifyOne();
    87             }
    88             m_suspendedLock.unlock();
    89             m_shouldSuspendCondition.wait(m_shouldSuspendLock);
    90         }
     77        m_taskQueue.waitForMessage().performTask();
    9178    }
    9279}
     
    10390}
    10491
    105 void CrossThreadTaskHandler::suspendAndWait()
    106 {
    107     ASSERT(isMainThread());
    108     {
    109         Locker<Lock> locker(m_shouldSuspendLock);
    110         m_shouldSuspend = true;
    111     }
    112 
    113     // Post an empty task to ensure database thread knows m_shouldSuspend and sets m_suspended.
    114     postTask(CrossThreadTask([]() { }));
    115 
    116     Locker<Lock> locker(m_suspendedLock);
    117     while (!m_suspended)
    118         m_suspendedCondition.wait(m_suspendedLock);
    119 }
    120 
    121 void CrossThreadTaskHandler::resume()
    122 {
    123     ASSERT(isMainThread());
    124     Locker<Lock> locker(m_shouldSuspendLock);
    125     if (m_shouldSuspend) {
    126         m_suspendedLock.lock();
    127         if (m_suspended)
    128             m_suspended = false;
    129         m_suspendedLock.unlock();
    130         m_shouldSuspend = false;
    131         m_shouldSuspendCondition.notifyOne();
    132     }
    133 }
    134 
    13592} // namespace WTF
  • trunk/Source/WTF/wtf/CrossThreadTaskHandler.h

    r245871 r259016  
    4646    WTF_EXPORT_PRIVATE void postTask(CrossThreadTask&&);
    4747    WTF_EXPORT_PRIVATE void postTaskReply(CrossThreadTask&&);
    48     WTF_EXPORT_PRIVATE void suspendAndWait();
    49     WTF_EXPORT_PRIVATE void resume();
    5048
    5149private:
     
    5957    bool m_mainThreadReplyScheduled { false };
    6058
    61     bool m_shouldSuspend { false };
    62     Condition m_shouldSuspendCondition;
    63     Lock m_shouldSuspendLock;
    64    
    65     bool m_suspended { false };
    66     Condition m_suspendedCondition;
    67     Lock m_suspendedLock;
    68 
    6959    CrossThreadQueue<CrossThreadTask> m_taskQueue;
    7060    CrossThreadQueue<CrossThreadTask> m_taskReplyQueue;
Note: See TracChangeset for help on using the changeset viewer.