Title: [204922] branches/safari-602.1.50.0-branch/Source/WebKit2
Revision
204922
Author
[email protected]
Date
2016-08-24 12:38:45 -0700 (Wed, 24 Aug 2016)

Log Message

Merge r204911. rdar://problem/27896368

Modified Paths

Diff

Modified: branches/safari-602.1.50.0-branch/Source/WebKit2/ChangeLog (204921 => 204922)


--- branches/safari-602.1.50.0-branch/Source/WebKit2/ChangeLog	2016-08-24 19:37:13 UTC (rev 204921)
+++ branches/safari-602.1.50.0-branch/Source/WebKit2/ChangeLog	2016-08-24 19:38:45 UTC (rev 204922)
@@ -1,3 +1,21 @@
+2016-08-24  Babak Shafiei  <[email protected]>
+
+        Merge r204911. rdar://problem/27896368
+
+    2016-08-24  Anders Carlsson  <[email protected]>
+
+            In some cases, an IPC::Connection won't know when the other end has gone away
+            https://bugs.webkit.org/show_bug.cgi?id=161153
+            rdar://problem/27896368
+
+            Reviewed by Dan Bernstein.
+
+            When being asked to invalidate a connection that isn't yet connected, make sure to release
+            our send and receive rights so that the other end will get a failure when trying to connect.
+
+            * Platform/IPC/mac/ConnectionMac.mm:
+            (IPC::Connection::platformInvalidate):
+
 2016-08-12  Babak Shafiei  <[email protected]>
 
         Merge r204414. rdar://problem/27624095

Modified: branches/safari-602.1.50.0-branch/Source/WebKit2/Platform/IPC/mac/ConnectionMac.mm (204921 => 204922)


--- branches/safari-602.1.50.0-branch/Source/WebKit2/Platform/IPC/mac/ConnectionMac.mm	2016-08-24 19:37:13 UTC (rev 204921)
+++ branches/safari-602.1.50.0-branch/Source/WebKit2/Platform/IPC/mac/ConnectionMac.mm	2016-08-24 19:38:45 UTC (rev 204922)
@@ -111,8 +111,19 @@
     
 void Connection::platformInvalidate()
 {
-    if (!m_isConnected)
+    if (!m_isConnected) {
+        if (m_sendPort) {
+            mach_port_deallocate(mach_task_self(), m_sendPort);
+            m_sendPort = MACH_PORT_NULL;
+        }
+
+        if (m_receivePort) {
+            mach_port_mod_refs(mach_task_self(), m_receivePort, MACH_PORT_RIGHT_RECEIVE, -1);
+            m_receivePort = MACH_PORT_NULL;
+        }
+
         return;
+    }
 
     m_isConnected = false;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to