aboutsummaryrefslogtreecommitdiff
path: root/src/client/windows/handler
diff options
context:
space:
mode:
authordoshimun <doshimun@4c0a9323-5329-0410-9bdc-e9ce6186880e>2008-05-05 20:03:56 +0000
committerdoshimun <doshimun@4c0a9323-5329-0410-9bdc-e9ce6186880e>2008-05-05 20:03:56 +0000
commit0ded3d718f4b090d106014bb0ea9dbb7af4e1d81 (patch)
treec17841e1e075b5d449ed8b63b2a339d6856d20b7 /src/client/windows/handler
parentIssue 261/262: 64-bit bug fix when iterating through load commands of a 64-bi... (diff)
downloadbreakpad-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.cc15
-rw-r--r--src/client/windows/handler/exception_handler.h7
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.