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:
parent
2a4698319a
commit
2a78191cab
2 changed files with 10 additions and 3 deletions
|
@ -678,7 +678,7 @@ bool Breakpad::HandleException(int exception_type,
|
||||||
if (result == KERN_SUCCESS) {
|
if (result == KERN_SUCCESS) {
|
||||||
// Wait for acknowledgement that the inspection has finished.
|
// Wait for acknowledgement that the inspection has finished.
|
||||||
MachReceiveMessage acknowledge_messsage;
|
MachReceiveMessage acknowledge_messsage;
|
||||||
result = acknowledge_port.WaitForMessage(&acknowledge_messsage, 2000);
|
result = acknowledge_port.WaitForMessage(&acknowledge_messsage, 5000);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -208,14 +208,21 @@ void Inspector::Inspect(const char *receive_port_name) {
|
||||||
|
|
||||||
if (result == KERN_SUCCESS) {
|
if (result == KERN_SUCCESS) {
|
||||||
// Inspect the task and write a minidump file.
|
// Inspect the task and write a minidump file.
|
||||||
InspectTask();
|
bool wrote_minidump = InspectTask();
|
||||||
|
|
||||||
// Send acknowledgement to the crashed process that the inspection
|
// Send acknowledgement to the crashed process that the inspection
|
||||||
// has finished. It will then be able to cleanly exit.
|
// 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,
|
// Ask the user if he wants to upload the crash report to a server,
|
||||||
// and do so if he agrees.
|
// and do so if he agrees.
|
||||||
LaunchReporter(config_file_.GetFilePath());
|
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
|
// Now that we're done reading messages, cleanup the service, but only
|
||||||
|
|
Loading…
Reference in a new issue