| 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 "content/child/child_process.h" | 5 #include "content/child/child_process.h" |
| 6 | 6 |
| 7 #if defined(OS_POSIX) && !defined(OS_ANDROID) | 7 #if defined(OS_POSIX) && !defined(OS_ANDROID) |
| 8 #include <signal.h> // For SigUSR1Handler below. | 8 #include <signal.h> // For SigUSR1Handler below. |
| 9 #endif | 9 #endif |
| 10 | 10 |
| (...skipping 98 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 109 #if defined(GOOGLE_CHROME_BUILD) | 109 #if defined(GOOGLE_CHROME_BUILD) |
| 110 std::string title = "Google Chrome"; | 110 std::string title = "Google Chrome"; |
| 111 #else // CHROMIUM_BUILD | 111 #else // CHROMIUM_BUILD |
| 112 std::string title = "Chromium"; | 112 std::string title = "Chromium"; |
| 113 #endif // CHROMIUM_BUILD | 113 #endif // CHROMIUM_BUILD |
| 114 title += " "; | 114 title += " "; |
| 115 title += label; // makes attaching to process easier | 115 title += label; // makes attaching to process easier |
| 116 std::string message = label; | 116 std::string message = label; |
| 117 message += " starting with pid: "; | 117 message += " starting with pid: "; |
| 118 message += base::IntToString(base::GetCurrentProcId()); | 118 message += base::IntToString(base::GetCurrentProcId()); |
| 119 ::MessageBox(NULL, UTF8ToWide(message).c_str(), UTF8ToWide(title).c_str(), | 119 ::MessageBox(NULL, base::UTF8ToWide(message).c_str(), |
| 120 base::UTF8ToWide(title).c_str(), |
| 120 MB_OK | MB_SETFOREGROUND); | 121 MB_OK | MB_SETFOREGROUND); |
| 121 #elif defined(OS_POSIX) | 122 #elif defined(OS_POSIX) |
| 122 #if defined(OS_ANDROID) | 123 #if defined(OS_ANDROID) |
| 123 LOG(ERROR) << label << " waiting for GDB."; | 124 LOG(ERROR) << label << " waiting for GDB."; |
| 124 // Wait 24 hours for a debugger to be attached to the current process. | 125 // Wait 24 hours for a debugger to be attached to the current process. |
| 125 base::debug::WaitForDebugger(24 * 60 * 60, false); | 126 base::debug::WaitForDebugger(24 * 60 * 60, false); |
| 126 #else | 127 #else |
| 127 // TODO(playmobil): In the long term, overriding this flag doesn't seem | 128 // TODO(playmobil): In the long term, overriding this flag doesn't seem |
| 128 // right, either use our own flag or open a dialog we can use. | 129 // right, either use our own flag or open a dialog we can use. |
| 129 // This is just to ease debugging in the interim. | 130 // This is just to ease debugging in the interim. |
| 130 LOG(ERROR) << label | 131 LOG(ERROR) << label |
| 131 << " (" | 132 << " (" |
| 132 << getpid() | 133 << getpid() |
| 133 << ") paused waiting for debugger to attach. " | 134 << ") paused waiting for debugger to attach. " |
| 134 << "Send SIGUSR1 to unpause."; | 135 << "Send SIGUSR1 to unpause."; |
| 135 // Install a signal handler so that pause can be woken. | 136 // Install a signal handler so that pause can be woken. |
| 136 struct sigaction sa; | 137 struct sigaction sa; |
| 137 memset(&sa, 0, sizeof(sa)); | 138 memset(&sa, 0, sizeof(sa)); |
| 138 sa.sa_handler = SigUSR1Handler; | 139 sa.sa_handler = SigUSR1Handler; |
| 139 sigaction(SIGUSR1, &sa, NULL); | 140 sigaction(SIGUSR1, &sa, NULL); |
| 140 | 141 |
| 141 pause(); | 142 pause(); |
| 142 #endif // defined(OS_ANDROID) | 143 #endif // defined(OS_ANDROID) |
| 143 #endif // defined(OS_POSIX) | 144 #endif // defined(OS_POSIX) |
| 144 } | 145 } |
| 145 | 146 |
| 146 } // namespace content | 147 } // namespace content |
| OLD | NEW |