Show the reporter UI for Breakpad.framework regardless of whether continuing the crashed process succeeded (issue 319)

git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@341 4c0a9323-5329-0410-9bdc-e9ce6186880e
This commit is contained in:
stuartmorgan 2009-05-28 16:26:30 +00:00
parent 2a4698319a
commit 2a78191cab
2 changed files with 10 additions and 3 deletions

View file

@ -678,7 +678,7 @@ bool Breakpad::HandleException(int exception_type,
if (result == KERN_SUCCESS) {
// Wait for acknowledgement that the inspection has finished.
MachReceiveMessage acknowledge_messsage;
result = acknowledge_port.WaitForMessage(&acknowledge_messsage, 2000);
result = acknowledge_port.WaitForMessage(&acknowledge_messsage, 5000);
}
}

View file

@ -208,14 +208,21 @@ void Inspector::Inspect(const char *receive_port_name) {
if (result == KERN_SUCCESS) {
// Inspect the task and write a minidump file.
InspectTask();
bool wrote_minidump = InspectTask();
// Send acknowledgement to the crashed process that the inspection
// has finished. It will then be able to cleanly exit.
if (SendAcknowledgement() == KERN_SUCCESS) {
// The return value is ignored because failure isn't fatal. If the process
// didn't get the message there's nothing we can do, and we still want to
// send the report.
SendAcknowledgement();
if (wrote_minidump) {
// Ask the user if he wants to upload the crash report to a server,
// and do so if he agrees.
LaunchReporter(config_file_.GetFilePath());
} else {
fprintf(stderr, "Inspection of crashed process failed\n");
}
// Now that we're done reading messages, cleanup the service, but only