Title: [264489] trunk/Source
Revision
264489
Author
[email protected]
Date
2020-07-16 18:00:45 -0700 (Thu, 16 Jul 2020)

Log Message

XPC connection should be suspended before setting target queue
https://bugs.webkit.org/show_bug.cgi?id=214427

Reviewed by Darin Adler.

Source/WebKit:

According to system logs, an active XPC connection should be suspended before setting a new target queue.

No new tests, since there should be no behavior change introduced by this patch.

* WebProcess/cocoa/WebProcessCocoa.mm:
(WebKit::WebProcess::handleXPCEndpointMessages const):

Source/WTF:

Declare function to suspend XPC connection.

* wtf/spi/darwin/XPCSPI.h:

Modified Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (264488 => 264489)


--- trunk/Source/WTF/ChangeLog	2020-07-17 00:33:37 UTC (rev 264488)
+++ trunk/Source/WTF/ChangeLog	2020-07-17 01:00:45 UTC (rev 264489)
@@ -1,3 +1,14 @@
+2020-07-16  Per Arne Vollan  <[email protected]>
+
+        XPC connection should be suspended before setting target queue
+        https://bugs.webkit.org/show_bug.cgi?id=214427
+
+        Reviewed by Darin Adler.
+
+        Declare function to suspend XPC connection.
+
+        * wtf/spi/darwin/XPCSPI.h:
+
 2020-07-16  Fujii Hironori  <[email protected]>
 
         [WTF] Remove the unnecessary inner class DefaultHash<T>::Hash

Modified: trunk/Source/WTF/wtf/spi/darwin/XPCSPI.h (264488 => 264489)


--- trunk/Source/WTF/wtf/spi/darwin/XPCSPI.h	2020-07-17 00:33:37 UTC (rev 264488)
+++ trunk/Source/WTF/wtf/spi/darwin/XPCSPI.h	2020-07-17 01:00:45 UTC (rev 264489)
@@ -127,6 +127,7 @@
 xpc_connection_t xpc_connection_create_mach_service(const char* name, dispatch_queue_t, uint64_t flags);
 pid_t xpc_connection_get_pid(xpc_connection_t);
 void xpc_connection_resume(xpc_connection_t);
+void xpc_connection_suspend(xpc_connection_t);
 void xpc_connection_send_message(xpc_connection_t, xpc_object_t);
 void xpc_connection_send_message_with_reply(xpc_connection_t, xpc_object_t, dispatch_queue_t, xpc_handler_t);
 void xpc_connection_set_event_handler(xpc_connection_t, xpc_handler_t);

Modified: trunk/Source/WebKit/ChangeLog (264488 => 264489)


--- trunk/Source/WebKit/ChangeLog	2020-07-17 00:33:37 UTC (rev 264488)
+++ trunk/Source/WebKit/ChangeLog	2020-07-17 01:00:45 UTC (rev 264489)
@@ -1,3 +1,17 @@
+2020-07-16  Per Arne Vollan  <[email protected]>
+
+        XPC connection should be suspended before setting target queue
+        https://bugs.webkit.org/show_bug.cgi?id=214427
+
+        Reviewed by Darin Adler.
+
+        According to system logs, an active XPC connection should be suspended before setting a new target queue.
+
+        No new tests, since there should be no behavior change introduced by this patch.
+
+        * WebProcess/cocoa/WebProcessCocoa.mm:
+        (WebKit::WebProcess::handleXPCEndpointMessages const):
+
 2020-07-16  Fujii Hironori  <[email protected]>
 
         [WTF] Remove the unnecessary inner class DefaultHash<T>::Hash

Modified: trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm (264488 => 264489)


--- trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm	2020-07-17 00:33:37 UTC (rev 264488)
+++ trunk/Source/WebKit/WebProcess/cocoa/WebProcessCocoa.mm	2020-07-17 01:00:45 UTC (rev 264489)
@@ -171,6 +171,8 @@
 
     auto connection = parentProcessConnection()->xpcConnection();
 
+    xpc_connection_suspend(connection);
+
     xpc_connection_set_target_queue(connection, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0));
     xpc_connection_set_event_handler(connection, ^(xpc_object_t event) {
         if (xpc_get_type(event) != XPC_TYPE_DICTIONARY)
@@ -186,6 +188,8 @@
             return;
         }
     });
+
+    xpc_connection_resume(connection);
 }
 
 void WebProcess::platformInitializeWebProcess(WebProcessCreationParameters& parameters)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to