summaryrefslogtreecommitdiffstats
path: root/chrome/browser/browser_main_posix.cc
diff options
context:
space:
mode:
authorwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-12 17:40:49 +0000
committerwillchan@chromium.org <willchan@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2010-07-12 17:40:49 +0000
commitc1275ae20c3e2c712d777de04340a671c8aabb94 (patch)
treee4bd55fc3de1c9fdf16f270a3c4dfdae5b7d904a /chrome/browser/browser_main_posix.cc
parent1c57b7b3f5bfe15eeea1fb9023a86b30cba5a2be (diff)
downloadchromium_src-c1275ae20c3e2c712d777de04340a671c8aabb94.zip
chromium_src-c1275ae20c3e2c712d777de04340a671c8aabb94.tar.gz
chromium_src-c1275ae20c3e2c712d777de04340a671c8aabb94.tar.bz2
Posix: Stop crashing on SIG{INT|HUP|TERM}.
BUG=48637 Review URL: http://codereview.chromium.org/2927008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52098 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/browser_main_posix.cc')
-rw-r--r--chrome/browser/browser_main_posix.cc36
1 files changed, 18 insertions, 18 deletions
diff --git a/chrome/browser/browser_main_posix.cc b/chrome/browser/browser_main_posix.cc
index f9a5df2..d85a93f 100644
--- a/chrome/browser/browser_main_posix.cc
+++ b/chrome/browser/browser_main_posix.cc
@@ -158,7 +158,24 @@ class BrowserMainPartsPosix : public BrowserMainParts {
explicit BrowserMainPartsPosix(const MainFunctionParams& parameters)
: BrowserMainParts(parameters) {}
- protected:
+ virtual void TemporaryPosix_1() {
+ int pipefd[2];
+ int ret = pipe(pipefd);
+ if (ret < 0) {
+ PLOG(DFATAL) << "Failed to create pipe";
+ } else {
+ g_shutdown_pipe_read_fd = pipefd[0];
+ g_shutdown_pipe_write_fd = pipefd[1];
+ const size_t kShutdownDetectorThreadStackSize = 4096;
+ if (!PlatformThread::CreateNonJoinable(
+ kShutdownDetectorThreadStackSize,
+ new ShutdownDetector(g_shutdown_pipe_read_fd))) {
+ LOG(DFATAL) << "Failed to create shutdown detector task.";
+ }
+ }
+ }
+
+ private:
virtual void PreEarlyInitialization() {
// We need to accept SIGCHLD, even though our handler is a no-op because
// otherwise we cannot wait on children. (According to POSIX 2001.)
@@ -202,23 +219,6 @@ class BrowserMainPartsPosix : public BrowserMainParts {
if (fd_limit > 0)
SetFileDescriptorLimit(fd_limit);
}
-
- void TemporaryPosix_1() {
- int pipefd[2];
- int ret = pipe(pipefd);
- if (ret < 0) {
- PLOG(DFATAL) << "Failed to create pipe";
- } else {
- g_shutdown_pipe_read_fd = pipefd[0];
- g_shutdown_pipe_write_fd = pipefd[1];
- const size_t kShutdownDetectorThreadStackSize = 4096;
- if (!PlatformThread::CreateNonJoinable(
- kShutdownDetectorThreadStackSize,
- new ShutdownDetector(g_shutdown_pipe_read_fd))) {
- LOG(DFATAL) << "Failed to create shutdown detector task.";
- }
- }
- }
};
// static