Changeset 247370 in webkit
- Timestamp:
- Jul 11, 2019, 3:26:25 PM (6 years ago)
- Location:
- trunk/Source/WebKit
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit/ChangeLog
r247369 r247370 1 2019-07-11 Sihui Liu <sihui_liu@apple.com> 2 3 StorageArea should not be destructed on the main thread 4 https://bugs.webkit.org/show_bug.cgi?id=199713 5 <rdar://problem/52911900> 6 7 Reviewed by Alex Christensen. 8 9 After r246079, LocalStorageNameSpace could be destructed on the main thread and it may hold the last reference 10 to StorageArea. Then we saw the crashes that StorageArea was wrongly destructed on the main thread. 11 12 * NetworkProcess/NetworkSession.cpp: 13 (WebKit::NetworkSession::~NetworkSession): 14 * NetworkProcess/WebStorage/StorageManager.cpp: 15 (WebKit::StorageManager::waitUntilTasksFinished): 16 (WebKit::StorageManager::waitUntilWritesFinished): Deleted. 17 * NetworkProcess/WebStorage/StorageManager.h: 18 1 19 2019-07-11 Tim Horton <timothy_horton@apple.com> 2 20 -
trunk/Source/WebKit/NetworkProcess/NetworkSession.cpp
r247250 r247370 96 96 { 97 97 m_storageManager->resume(); 98 m_storageManager->waitUntil WritesFinished();98 m_storageManager->waitUntilTasksFinished(); 99 99 } 100 100 -
trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp
r247250 r247370 908 908 } 909 909 910 void StorageManager::waitUntil WritesFinished()910 void StorageManager::waitUntilTasksFinished() 911 911 { 912 912 BinarySemaphore semaphore; … … 921 921 m_storageAreasByConnection.remove(connectionStorageAreaPair); 922 922 923 m_localStorageNamespaces.clear(); 924 923 925 semaphore.signal(); 924 926 }); -
trunk/Source/WebKit/NetworkProcess/WebStorage/StorageManager.h
r247250 r247370 58 58 59 59 void processDidCloseConnection(IPC::Connection&); 60 void waitUntil WritesFinished();60 void waitUntilTasksFinished(); 61 61 void suspend(CompletionHandler<void()>&&); 62 62 void resume();
Note:
See TracChangeset
for help on using the changeset viewer.