Chromium Code Reviews| Index: chrome/browser/chrome_content_browser_client.cc |
| diff --git a/chrome/browser/chrome_content_browser_client.cc b/chrome/browser/chrome_content_browser_client.cc |
| index 0ee484c8bba3d5f73d2596c45efa6fb3f3816859..a6c47f8d6fae4f9744b8616e693ce6c597d6a663 100644 |
| --- a/chrome/browser/chrome_content_browser_client.cc |
| +++ b/chrome/browser/chrome_content_browser_client.cc |
| @@ -1667,8 +1667,10 @@ void ChromeContentBrowserClient::GetAdditionalMappedFilesForChildProcess( |
| base::GlobalDescriptors::Mapping* mappings) { |
| int crash_signal_fd = GetCrashSignalFD(command_line); |
| if (crash_signal_fd >= 0) { |
| + // The caller becomes the owner of the passed FD, so we dup it as we need to |
| + // keep ours alive. |
| mappings->push_back(std::pair<base::GlobalDescriptors::Key, int>( |
| - kCrashDumpSignal, crash_signal_fd)); |
| + kCrashDumpSignal, dup(crash_signal_fd))); |
|
piman
2012/09/20 07:03:03
I don't get it. You're changing the semantics to a
|
| } |
| } |
| #endif // defined(OS_POSIX) && !defined(OS_MACOSX) |