OLD | NEW |
1 // Copyright 2015 The Crashpad Authors. All rights reserved. | 1 // Copyright 2015 The Crashpad Authors. All rights reserved. |
2 // | 2 // |
3 // Licensed under the Apache License, Version 2.0 (the "License"); | 3 // Licensed under the Apache License, Version 2.0 (the "License"); |
4 // you may not use this file except in compliance with the License. | 4 // you may not use this file except in compliance with the License. |
5 // You may obtain a copy of the License at | 5 // You may obtain a copy of the License at |
6 // | 6 // |
7 // http://www.apache.org/licenses/LICENSE-2.0 | 7 // http://www.apache.org/licenses/LICENSE-2.0 |
8 // | 8 // |
9 // Unless required by applicable law or agreed to in writing, software | 9 // Unless required by applicable law or agreed to in writing, software |
10 // distributed under the License is distributed on an "AS IS" BASIS, | 10 // distributed under the License is distributed on an "AS IS" BASIS, |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 } | 119 } |
120 | 120 |
121 CrashpadClient::~CrashpadClient() { | 121 CrashpadClient::~CrashpadClient() { |
122 } | 122 } |
123 | 123 |
124 bool CrashpadClient::StartHandler( | 124 bool CrashpadClient::StartHandler( |
125 const base::FilePath& handler, | 125 const base::FilePath& handler, |
126 const base::FilePath& database, | 126 const base::FilePath& database, |
127 const std::string& url, | 127 const std::string& url, |
128 const std::map<std::string, std::string>& annotations, | 128 const std::map<std::string, std::string>& annotations, |
129 const std::vector<std::string>& arguments) { | 129 const std::vector<std::string>& arguments, |
| 130 bool restartable) { |
130 DCHECK(ipc_pipe_.empty()); | 131 DCHECK(ipc_pipe_.empty()); |
131 | 132 |
132 std::string ipc_pipe = | 133 std::string ipc_pipe = |
133 base::StringPrintf("\\\\.\\pipe\\crashpad_%d_", GetCurrentProcessId()); | 134 base::StringPrintf("\\\\.\\pipe\\crashpad_%d_", GetCurrentProcessId()); |
134 for (int index = 0; index < 16; ++index) { | 135 for (int index = 0; index < 16; ++index) { |
135 ipc_pipe.append(1, static_cast<char>(base::RandInt('A', 'Z'))); | 136 ipc_pipe.append(1, static_cast<char>(base::RandInt('A', 'Z'))); |
136 } | 137 } |
137 ipc_pipe_ = base::UTF8ToUTF16(ipc_pipe); | 138 ipc_pipe_ = base::UTF8ToUTF16(ipc_pipe); |
138 | 139 |
139 std::wstring command_line; | 140 std::wstring command_line; |
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
303 reinterpret_cast<crashpad::WinVMAddress>(&exception_pointers); | 304 reinterpret_cast<crashpad::WinVMAddress>(&exception_pointers); |
304 | 305 |
305 bool set_event_result = !!SetEvent(g_signal_non_crash_dump); | 306 bool set_event_result = !!SetEvent(g_signal_non_crash_dump); |
306 PLOG_IF(ERROR, !set_event_result) << "SetEvent"; | 307 PLOG_IF(ERROR, !set_event_result) << "SetEvent"; |
307 | 308 |
308 DWORD wfso_result = WaitForSingleObject(g_non_crash_dump_done, INFINITE); | 309 DWORD wfso_result = WaitForSingleObject(g_non_crash_dump_done, INFINITE); |
309 PLOG_IF(ERROR, wfso_result != WAIT_OBJECT_0) << "WaitForSingleObject"; | 310 PLOG_IF(ERROR, wfso_result != WAIT_OBJECT_0) << "WaitForSingleObject"; |
310 } | 311 } |
311 | 312 |
312 } // namespace crashpad | 313 } // namespace crashpad |
OLD | NEW |