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
This commit is contained in:
doshimun
2008-05-05 20:03:56 +00:00
parent 47df365bf8
commit 0ded3d718f
10 changed files with 187 additions and 25 deletions

View File

@@ -220,7 +220,7 @@ bool CrashGenerationServer::Start() {
kInBufferSize,
0,
pipe_sec_attrs_);
if (!pipe_) {
if (pipe_ == INVALID_HANDLE_VALUE) {
return false;
}
@@ -400,7 +400,8 @@ void CrashGenerationServer::HandleReadDoneState() {
msg_.dump_type,
msg_.thread_id,
msg_.exception_pointers,
msg_.assert_info));
msg_.assert_info,
msg_.custom_client_info));
if (!client_info->Initialize()) {
server_state_ = IPC_SERVER_STATE_DISCONNECTING;
@@ -726,6 +727,7 @@ void CALLBACK CrashGenerationServer::OnPipeConnected(void* context, BOOLEAN) {
void CALLBACK CrashGenerationServer::OnDumpRequest(void* context, BOOLEAN) {
assert(context);
ClientInfo* client_info = reinterpret_cast<ClientInfo*>(context);
client_info->PopulateCustomInfo();
CrashGenerationServer* crash_server = client_info->crash_server();
assert(crash_server);