OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/chrome_browser_main_posix.h" | 5 #include "chrome/browser/chrome_browser_main_posix.h" |
6 | 6 |
7 #include <errno.h> | 7 #include <errno.h> |
8 #include <limits.h> | 8 #include <limits.h> |
9 #include <pthread.h> | 9 #include <pthread.h> |
10 #include <signal.h> | 10 #include <signal.h> |
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
307 | 307 |
308 int pipefd[2]; | 308 int pipefd[2]; |
309 int ret = pipe(pipefd); | 309 int ret = pipe(pipefd); |
310 if (ret < 0) { | 310 if (ret < 0) { |
311 PLOG(DFATAL) << "Failed to create pipe"; | 311 PLOG(DFATAL) << "Failed to create pipe"; |
312 } else { | 312 } else { |
313 g_pipe_pid = getpid(); | 313 g_pipe_pid = getpid(); |
314 g_shutdown_pipe_read_fd = pipefd[0]; | 314 g_shutdown_pipe_read_fd = pipefd[0]; |
315 g_shutdown_pipe_write_fd = pipefd[1]; | 315 g_shutdown_pipe_write_fd = pipefd[1]; |
316 #if !defined(ADDRESS_SANITIZER) && !defined(KEEP_SHADOW_STACKS) | 316 #if !defined(ADDRESS_SANITIZER) && !defined(KEEP_SHADOW_STACKS) |
317 const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN; | 317 const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 2; |
318 #else | 318 #else |
319 // ASan instrumentation and -finstrument-functions (used for keeping the | 319 // ASan instrumentation and -finstrument-functions (used for keeping the |
320 // shadow stacks) bloat the stack frames, so we need to increase the stack | 320 // shadow stacks) bloat the stack frames, so we need to increase the stack |
321 // size to avoid hitting the guard page. | 321 // size to avoid hitting the guard page. |
322 const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4; | 322 const size_t kShutdownDetectorThreadStackSize = PTHREAD_STACK_MIN * 4; |
323 #endif | 323 #endif |
324 // TODO(viettrungluu,willchan): crbug.com/29675 - This currently leaks, so | 324 // TODO(viettrungluu,willchan): crbug.com/29675 - This currently leaks, so |
325 // if you change this, you'll probably need to change the suppression. | 325 // if you change this, you'll probably need to change the suppression. |
326 if (!base::PlatformThread::CreateNonJoinable( | 326 if (!base::PlatformThread::CreateNonJoinable( |
327 kShutdownDetectorThreadStackSize, | 327 kShutdownDetectorThreadStackSize, |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
367 ChromeBrowserMainExtraPartsGtk::ShowMessageBox( | 367 ChromeBrowserMainExtraPartsGtk::ShowMessageBox( |
368 chrome_browser::kMissingLocaleDataMessage); | 368 chrome_browser::kMissingLocaleDataMessage); |
369 #elif defined(USE_AURA) | 369 #elif defined(USE_AURA) |
370 // TODO(port): We may want a views based message dialog here eventually, but | 370 // TODO(port): We may want a views based message dialog here eventually, but |
371 // for now, crash. | 371 // for now, crash. |
372 NOTREACHED(); | 372 NOTREACHED(); |
373 #else | 373 #else |
374 #error "Need MessageBox implementation." | 374 #error "Need MessageBox implementation." |
375 #endif | 375 #endif |
376 } | 376 } |
OLD | NEW |