WebKit Bugzilla
Attachment 373437 Details for
Bug 199482
: StorageManager::suspend() sometimes fails to call its completion handler
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-199482-20190703165441.patch (text/plain), 1.88 KB, created by
Chris Dumez
on 2019-07-03 16:54:42 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Chris Dumez
Created:
2019-07-03 16:54:42 PDT
Size:
1.88 KB
patch
obsolete
>Subversion Revision: 247117 >diff --git a/Source/WebKit/ChangeLog b/Source/WebKit/ChangeLog >index ee4975cd16113699bea07be67969517e0faf6a21..2fcdbc318262493559407845b3acf39fc0c01586 100644 >--- a/Source/WebKit/ChangeLog >+++ b/Source/WebKit/ChangeLog >@@ -1,3 +1,15 @@ >+2019-07-03 Chris Dumez <cdumez@apple.com> >+ >+ StorageManager::suspend() sometimes fails to call its completion handler >+ https://bugs.webkit.org/show_bug.cgi?id=199482 >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Make sure the completion handler gets called in the early return cases. >+ >+ * NetworkProcess/WebStorage/StorageManager.cpp: >+ (WebKit::StorageManager::suspend): >+ > 2019-07-03 Jonathan Bedard <jbedard@apple.com> > > [Catalina] Enable WebKit build >diff --git a/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp b/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp >index 8b22ca0b407db5e89da2bf1908515875995def3e..15add2e5a97bcce78be9fcbd6ec020bdceef8535 100644 >--- a/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp >+++ b/Source/WebKit/NetworkProcess/WebStorage/StorageManager.cpp >@@ -924,6 +924,7 @@ void StorageManager::waitUntilWritesFinished() > > void StorageManager::suspend(CompletionHandler<void()>&& completionHandler) > { >+ CompletionHandlerCallingScope completionHandlerCaller(WTFMove(completionHandler)); > if (!m_localStorageDatabaseTracker) > return; > >@@ -932,7 +933,7 @@ void StorageManager::suspend(CompletionHandler<void()>&& completionHandler) > return; > m_state = State::WillSuspend; > >- m_queue->dispatch([this, protectedThis = makeRef(*this), completionHandler = WTFMove(completionHandler)] () mutable { >+ m_queue->dispatch([this, protectedThis = makeRef(*this), completionHandler = completionHandlerCaller.release()] () mutable { > Locker<Lock> stateLocker(m_stateLock); > ASSERT(m_state != State::Suspended); >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 199482
: 373437