Backed out changeset 3e9cc0ba5dfb (bug 1066812) for suspicion of causing B2G Nuwa mochitest crashes on a CLOSED TREE.
authorRyan VanderMeulen <ryanvm@gmail.com>
Mon, 02 Mar 2015 11:58:12 -0500
changeset 231318 d8c4ac35b349d47876e98adeb247fbd17bfd8397
parent 231317 ce21e7a57cf8d8b50daf6f5a1bf7e0d1b516d20a
child 231319 ec45286064aac4950a82f26ac5f079e0f7c56180
push id28348
push userkwierso@gmail.com
push dateMon, 02 Mar 2015 20:13:43 +0000
treeherdermozilla-central@abb7f0d180da [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1066812
milestone39.0a1
backs out3e9cc0ba5dfb5fe1af0a264d784a9c6f35204c8f
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset 3e9cc0ba5dfb (bug 1066812) for suspicion of causing B2G Nuwa mochitest crashes on a CLOSED TREE.
dom/ipc/ContentChild.cpp
ipc/glue/MessageChannel.h
--- a/dom/ipc/ContentChild.cpp
+++ b/dom/ipc/ContentChild.cpp
@@ -610,20 +610,16 @@ ContentChild::Init(MessageLoop* aIOLoop,
       return false;
     }
     sSingleton = this;
 
     // Make sure there's an nsAutoScriptBlocker on the stack when dispatching
     // urgent messages.
     GetIPCChannel()->BlockScripts();
 
-    // If communications with the parent have broken down, take the process
-    // down so it's not hanging around.
-    GetIPCChannel()->SetAbortOnError(true);
-
 #ifdef MOZ_X11
     // Send the parent our X socket to act as a proxy reference for our X
     // resources.
     int xSocketFd = ConnectionNumber(DefaultXDisplay());
     SendBackUpXResources(FileDescriptor(xSocketFd));
 #endif
 
 #ifdef MOZ_CRASHREPORTER
@@ -2570,18 +2566,16 @@ ContentChild::RecvAssociatePluginId(cons
 bool
 ContentChild::RecvShutdown()
 {
     nsCOMPtr<nsIObserverService> os = services::GetObserverService();
     if (os) {
         os->NotifyObservers(this, "content-child-shutdown", nullptr);
     }
 
-    GetIPCChannel()->SetAbortOnError(false);
-
     // Ignore errors here. If this fails, the parent will kill us after a
     // timeout.
     unused << SendFinishShutdown();
     return true;
 }
 
 PBrowserOrId
 ContentChild::GetBrowserOrId(TabChild* aTabChild)
--- a/ipc/glue/MessageChannel.h
+++ b/ipc/glue/MessageChannel.h
@@ -83,17 +83,17 @@ class MessageChannel : HasResultCodes
     // Force the channel to behave as if a channel error occurred. Valid
     // for process links only, not thread links.
     void CloseWithError();
 
     void CloseWithTimeout();
 
     void SetAbortOnError(bool abort)
     {
-        mAbortOnError = abort;
+        mAbortOnError = true;
     }
 
     // Misc. behavioral traits consumers can request for this channel
     enum ChannelFlags {
       REQUIRE_DEFAULT                         = 0,
       // Windows: if this channel operates on the UI thread, indicates
       // WindowsMessageLoop code should enable deferred native message
       // handling to prevent deadlocks. Should only be used for protocols