Title: [204621] trunk/Source/WebKit2
Revision
204621
Author
[email protected]
Date
2016-08-18 18:07:45 -0700 (Thu, 18 Aug 2016)

Log Message

[iOS] Network Processes & Database processes do not exit promptly
https://bugs.webkit.org/show_bug.cgi?id=160978
<rdar://problem/27914081>

Reviewed by Anders Carlsson.

Network Processes & Database processes do not exit promptly. They hang
for 10 seconds until they log the following message:
> com.apple.WebKit.Networking: (WebKit) #WK: Exiting process early due to unacknowledged closed-connection

Then forcefully call exit(0).

To address the issue, we now call ChildProcess::stopRunLoop() instead
of RunLoop::current().stop(). stopRunLoop() works as expected on iOS
after r202723.

There is no impact on Mac because stopRunLoop() calls
RunLoop::current().stop().

* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::didClose):
(WebKit::DatabaseProcess::didReceiveInvalidMessage):
* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::didClose):
(WebKit::NetworkProcess::didReceiveInvalidMessage):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (204620 => 204621)


--- trunk/Source/WebKit2/ChangeLog	2016-08-19 01:01:47 UTC (rev 204620)
+++ trunk/Source/WebKit2/ChangeLog	2016-08-19 01:07:45 UTC (rev 204621)
@@ -1,3 +1,31 @@
+2016-08-18  Chris Dumez  <[email protected]>
+
+        [iOS] Network Processes & Database processes do not exit promptly
+        https://bugs.webkit.org/show_bug.cgi?id=160978
+        <rdar://problem/27914081>
+
+        Reviewed by Anders Carlsson.
+
+        Network Processes & Database processes do not exit promptly. They hang
+        for 10 seconds until they log the following message:
+        > com.apple.WebKit.Networking: (WebKit) #WK: Exiting process early due to unacknowledged closed-connection
+
+        Then forcefully call exit(0).
+
+        To address the issue, we now call ChildProcess::stopRunLoop() instead
+        of RunLoop::current().stop(). stopRunLoop() works as expected on iOS
+        after r202723.
+
+        There is no impact on Mac because stopRunLoop() calls
+        RunLoop::current().stop().
+
+        * DatabaseProcess/DatabaseProcess.cpp:
+        (WebKit::DatabaseProcess::didClose):
+        (WebKit::DatabaseProcess::didReceiveInvalidMessage):
+        * NetworkProcess/NetworkProcess.cpp:
+        (WebKit::NetworkProcess::didClose):
+        (WebKit::NetworkProcess::didReceiveInvalidMessage):
+
 2016-08-18  Dan Bernstein  <[email protected]>
 
         [Cocoa] API::Number needs to be wrapped by an NSNumber

Modified: trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp (204620 => 204621)


--- trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp	2016-08-19 01:01:47 UTC (rev 204620)
+++ trunk/Source/WebKit2/DatabaseProcess/DatabaseProcess.cpp	2016-08-19 01:07:45 UTC (rev 204621)
@@ -76,7 +76,7 @@
 
 void DatabaseProcess::didClose(IPC::Connection&)
 {
-    RunLoop::current().stop();
+    stopRunLoop();
 }
 
 void DatabaseProcess::didReceiveMessage(IPC::Connection& connection, IPC::MessageDecoder& decoder)
@@ -92,7 +92,7 @@
 
 void DatabaseProcess::didReceiveInvalidMessage(IPC::Connection&, IPC::StringReference, IPC::StringReference)
 {
-    RunLoop::current().stop();
+    stopRunLoop();
 }
 
 #if ENABLE(INDEXED_DATABASE)

Modified: trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp (204620 => 204621)


--- trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp	2016-08-19 01:01:47 UTC (rev 204620)
+++ trunk/Source/WebKit2/NetworkProcess/NetworkProcess.cpp	2016-08-19 01:07:45 UTC (rev 204621)
@@ -157,12 +157,12 @@
 void NetworkProcess::didClose(IPC::Connection&)
 {
     // The UIProcess just exited.
-    RunLoop::current().stop();
+    stopRunLoop();
 }
 
 void NetworkProcess::didReceiveInvalidMessage(IPC::Connection&, IPC::StringReference, IPC::StringReference)
 {
-    RunLoop::current().stop();
+    stopRunLoop();
 }
 
 void NetworkProcess::didCreateDownload()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to