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