Completely initialize ChildProcess state on launch
authoroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 7 Jun 2013 01:12:30 +0000 (01:12 +0000)
committeroliver@apple.com <oliver@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 7 Jun 2013 01:12:30 +0000 (01:12 +0000)
https://bugs.webkit.org/show_bug.cgi?id=117328

Reviewed by Sam Weinig.

Use setProcessSuppressionEnabledInternal to avoid setProcessSuppressionEnabled
"optimizing" our initialization away.

* Shared/mac/ChildProcessMac.mm:
(WebKit::ChildProcess::platformInitialize):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@151305 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebKit2/ChangeLog
Source/WebKit2/Shared/mac/ChildProcessMac.mm

index 2c04f46..09a8f86 100644 (file)
@@ -1,3 +1,16 @@
+2013-06-06  Oliver Hunt  <oliver@apple.com>
+
+        Completely initialize ChildProcess state on launch
+        https://bugs.webkit.org/show_bug.cgi?id=117328
+
+        Reviewed by Sam Weinig.
+
+        Use setProcessSuppressionEnabledInternal to avoid setProcessSuppressionEnabled
+        "optimizing" our initialization away.
+
+        * Shared/mac/ChildProcessMac.mm:
+        (WebKit::ChildProcess::platformInitialize):
+
 2013-06-06  Rafael Brandao  <rafael.lobo@openbossa.org>
 
         [Gtk] Connection is leaking when WebProcess is terminated
index 5b5dabd..ccc7078 100644 (file)
@@ -147,8 +147,11 @@ void ChildProcess::platformInitialize()
 #if __MAC_OS_X_VERSION_MIN_REQUIRED >= 1090
     initializeTimerCoalescingPolicy();
 #endif
-    // Starting with process suppression disabled.  The proxy for this process will enable if appropriate from didFinishLaunching().
-    setProcessSuppressionEnabled(false);
+    // Starting with process suppression disabled.  The proxy for this process will
+    // enable if appropriate from didFinishLaunching().
+    // We use setProcessSuppressionEnabledInternal to avoid any short circuit logic
+    // that would prevent us from taking the suppression assertion.
+    setProcessSuppressionEnabledInternal(false);
 
     [[NSFileManager defaultManager] changeCurrentDirectoryPath:[[NSBundle mainBundle] bundlePath]];
 }