summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/app/chrome_exe_main.mm22
1 files changed, 12 insertions, 10 deletions
diff --git a/chrome/app/chrome_exe_main.mm b/chrome/app/chrome_exe_main.mm
index 53b546e..5594282 100644
--- a/chrome/app/chrome_exe_main.mm
+++ b/chrome/app/chrome_exe_main.mm
@@ -1,18 +1,20 @@
-// Copyright (c) 2008 The Chromium Authors. All rights reserved.
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
-// The entry point for all invocations of Chromium, browser and renderer. On
-// windows, this does nothing but load chrome.dll and invoke its entry point
-// in order to make it easy to update the app from GoogleUpdate. We don't need
-// that extra layer with Keystone on the Mac, though we may run into issues
-// with Keychain prompts unless we sign the application. That shouldn't be
-// too hard, we just need infrastructure support to do it.
+// The entry point for all Mac Chromium processes, including the outer app
+// bundle (browser) and helper app (renderer, plugin, and friends).
+
+#include <stdlib.h>
extern "C" {
-int ChromeMain(int argc, const char** argv);
+int ChromeMain(int argc, char** argv);
}
-int main(int argc, const char** argv) {
- return ChromeMain(argc, argv);
+int main(int argc, char* argv[]) {
+ int rv = ChromeMain(argc, argv);
+
+ // exit, don't return from main, to avoid the apparent removal of main from
+ // stack backtraces under tail call optimization.
+ exit(rv);
}