diff options
author | doshimun <doshimun@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2008-05-05 20:03:56 +0000 |
---|---|---|
committer | doshimun <doshimun@4c0a9323-5329-0410-9bdc-e9ce6186880e> | 2008-05-05 20:03:56 +0000 |
commit | 0ded3d718f4b090d106014bb0ea9dbb7af4e1d81 (patch) | |
tree | c17841e1e075b5d449ed8b63b2a339d6856d20b7 /src/client/windows/handler | |
parent | Issue 261/262: 64-bit bug fix when iterating through load commands of a 64-bi... (diff) | |
download | breakpad-0ded3d718f4b090d106014bb0ea9dbb7af4e1d81.tar.xz |
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
Diffstat (limited to 'src/client/windows/handler')
-rw-r--r-- | src/client/windows/handler/exception_handler.cc | 15 | ||||
-rw-r--r-- | src/client/windows/handler/exception_handler.h | 7 |
2 files changed, 16 insertions, 6 deletions
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<CrashGenerationClient> 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 <string> #include <vector> +#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. |