aboutsummaryrefslogtreecommitdiff
path: root/src/client/windows/crash_generation/crash_generation_server.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/windows/crash_generation/crash_generation_server.cc')
-rw-r--r--src/client/windows/crash_generation/crash_generation_server.cc28
1 files changed, 14 insertions, 14 deletions
diff --git a/src/client/windows/crash_generation/crash_generation_server.cc b/src/client/windows/crash_generation/crash_generation_server.cc
index b4bb5c95..ca71c44f 100644
--- a/src/client/windows/crash_generation/crash_generation_server.cc
+++ b/src/client/windows/crash_generation/crash_generation_server.cc
@@ -121,17 +121,13 @@ CrashGenerationServer::CrashGenerationServer(
upload_request_callback_(upload_request_callback),
upload_context_(upload_context),
generate_dumps_(generate_dumps),
- dump_generator_(NULL),
+ dump_path_(*dump_path),
server_state_(IPC_SERVER_STATE_UNINITIALIZED),
shutting_down_(false),
overlapped_(),
client_info_(NULL),
pre_fetch_custom_info_(true) {
InitializeCriticalSection(&sync_);
-
- if (dump_path) {
- dump_generator_.reset(new MinidumpGenerator(*dump_path));
- }
}
// This should never be called from the OnPipeConnected callback.
@@ -917,15 +913,19 @@ bool CrashGenerationServer::GenerateDump(const ClientInfo& client,
return false;
}
- return dump_generator_->WriteMinidump(client.process_handle(),
- client.pid(),
- client_thread_id,
- GetCurrentThreadId(),
- client_ex_info,
- client.assert_info(),
- client.dump_type(),
- true,
- dump_path);
+ MinidumpGenerator dump_generator(dump_path_,
+ client.process_handle(),
+ client.pid(),
+ client_thread_id,
+ GetCurrentThreadId(),
+ client_ex_info,
+ client.assert_info(),
+ client.dump_type(),
+ true);
+ if (!dump_generator.GenerateDumpFile(dump_path)) {
+ return false;
+ }
+ return dump_generator.WriteMinidump();
}
} // namespace google_breakpad