RESOLVED FIXED 145291
Networking process sometimes suspended while WebContent runnable
https://bugs.webkit.org/show_bug.cgi?id=145291
Summary Networking process sometimes suspended while WebContent runnable
Gavin Barraclough
Reported 2015-05-21 20:06:49 PDT
There is an asymetry is how the Networking process suspension is managed. We drop the assertion (& suspend the process) whenever the WebProcess says it is ready to suspend, but we only take the assertion (& resume execution) when the WebContent process is actually resumed. This leaves a race – where the WebContent process was willing to be suspended, but the UI app cahnged its mind suspending it. Since the WebContent process never actually suspended (we only prepared it to), we never send a resume, and since we never resume, we never wake the Networking process.
Attachments
Fix (9.91 KB, patch)
2015-05-21 20:14 PDT, Gavin Barraclough
kling: review+
Gavin Barraclough
Comment 1 2015-05-21 20:14:31 PDT
Andreas Kling
Comment 2 2015-05-21 21:15:34 PDT
Comment on attachment 253574 [details] Fix View in context: https://bugs.webkit.org/attachment.cgi?id=253574&action=review r=me > Source/WebKit2/ChangeLog:9 > + There is an asymetry is how the Networking process suspension is managed. asymmetry is -> asymmetry in > Source/WebKit2/ChangeLog:13 > + the WebContent process was willing to be suspended, but the UI app cahnged cahnged -> changed > Source/WebKit2/UIProcess/WebProcessProxy.cpp:918 > +void WebProcessProxy::didSetAssertionState(AssertionState state) I feel like some build will break because "state" is unused unless PLATFORM(IOS) && ENABLE(NETWORK_PROCESS).
Gavin Barraclough
Comment 3 2015-05-22 10:19:56 PDT
Committed revision 184774.
David Kilzer (:ddkilzer)
Comment 4 2015-05-23 04:56:34 PDT
Note You need to log in before you can comment on or make changes to this bug.