From 0ded3d718f4b090d106014bb0ea9dbb7af4e1d81 Mon Sep 17 00:00:00 2001 From: doshimun Date: Mon, 5 May 2008 20:03:56 +0000 Subject: Add a way for the client apps to specify custom information in case of out-of-process scenarios that the OOP server can use in whatever way it wants to. Fix a bug in CrashGenerationserver where CreateNamedPipe failure was not checked correctly. TODO in near future: Add a custom stream to minidump files for the custom information. git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@267 4c0a9323-5329-0410-9bdc-e9ce6186880e --- src/client/windows/handler/exception_handler.cc | 15 +++++++++++---- src/client/windows/handler/exception_handler.h | 7 +++++-- 2 files changed, 16 insertions(+), 6 deletions(-) (limited to 'src/client/windows/handler') diff --git a/src/client/windows/handler/exception_handler.cc b/src/client/windows/handler/exception_handler.cc index fc678a91..f6469d78 100644 --- a/src/client/windows/handler/exception_handler.cc +++ b/src/client/windows/handler/exception_handler.cc @@ -34,6 +34,7 @@ #include "common/windows/string_utils-inl.h" +#include "client/windows/common/ipc_protocol.h" #include "client/windows/handler/exception_handler.h" #include "common/windows/guid_string.h" @@ -52,14 +53,16 @@ ExceptionHandler::ExceptionHandler(const wstring& dump_path, void* callback_context, int handler_types, MINIDUMP_TYPE dump_type, - const wchar_t* pipe_name) { + const wchar_t* pipe_name, + const CustomClientInfo* custom_info) { Initialize(dump_path, filter, callback, callback_context, handler_types, dump_type, - pipe_name); + pipe_name, + custom_info); } ExceptionHandler::ExceptionHandler(const wstring &dump_path, @@ -73,6 +76,7 @@ ExceptionHandler::ExceptionHandler(const wstring &dump_path, callback_context, handler_types, MiniDumpNormal, + NULL, NULL); } @@ -82,7 +86,8 @@ void ExceptionHandler::Initialize(const wstring& dump_path, void* callback_context, int handler_types, MINIDUMP_TYPE dump_type, - const wchar_t* pipe_name) { + const wchar_t* pipe_name, + const CustomClientInfo* custom_info) { filter_ = filter; callback_ = callback; callback_context_ = callback_context; @@ -112,7 +117,9 @@ void ExceptionHandler::Initialize(const wstring& dump_path, // Attempt to use out-of-process if user has specified pipe name. if (pipe_name != NULL) { scoped_ptr client( - new CrashGenerationClient(pipe_name, dump_type_)); + new CrashGenerationClient(pipe_name, + dump_type_, + custom_info)); // If successful in registering with the monitoring process, // there is no need to setup in-process crash generation. diff --git a/src/client/windows/handler/exception_handler.h b/src/client/windows/handler/exception_handler.h index 870025fb..d02f7080 100644 --- a/src/client/windows/handler/exception_handler.h +++ b/src/client/windows/handler/exception_handler.h @@ -68,6 +68,7 @@ #include #include +#include "client/windows/common/ipc_protocol.h" #include "client/windows/crash_generation/crash_generation_client.h" #include "google_breakpad/common/minidump_format.h" #include "processor/scoped_ptr.h" @@ -163,7 +164,8 @@ class ExceptionHandler { void* callback_context, int handler_types, MINIDUMP_TYPE dump_type, - const wchar_t* pipe_name); + const wchar_t* pipe_name, + const CustomClientInfo* custom_info); ~ExceptionHandler(); @@ -213,7 +215,8 @@ class ExceptionHandler { void* callback_context, int handler_types, MINIDUMP_TYPE dump_type, - const wchar_t* pipe_name); + const wchar_t* pipe_name, + const CustomClientInfo* custom_info); // Function pointer type for MiniDumpWriteDump, which is looked up // dynamically. -- cgit v1.2.1