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 |