Bug 563936 - Make google_breakpad::ClientInfo::UnregisterWaits handle pseudo-errors from UnregisterWait correctly if there is I/O pending at the time, r=doshimun a=mossop

This commit is contained in:
Benjamin Smedberg 2010-05-10 17:11:57 -04:00
parent 795fd0f90e
commit 86a58b9f68
2 changed files with 6 additions and 16 deletions

View File

@ -101,26 +101,16 @@ ClientInfo::~ClientInfo() {
}
}
bool ClientInfo::UnregisterWaits() {
bool success = true;
void ClientInfo::UnregisterWaits() {
if (dump_request_wait_handle_) {
if (!UnregisterWait(dump_request_wait_handle_)) {
success = false;
} else {
dump_request_wait_handle_ = NULL;
}
UnregisterWait(dump_request_wait_handle_);
dump_request_wait_handle_ = NULL;
}
if (process_exit_wait_handle_) {
if (!UnregisterWait(process_exit_wait_handle_)) {
success = false;
} else {
process_exit_wait_handle_ = NULL;
}
UnregisterWait(process_exit_wait_handle_);
process_exit_wait_handle_ = NULL;
}
return success;
}
bool ClientInfo::GetClientExceptionInfo(EXCEPTION_POINTERS** ex_info) const {

View File

@ -83,7 +83,7 @@ class ClientInfo {
}
// Unregister all waits for the client.
bool UnregisterWaits();
void UnregisterWaits();
bool Initialize();
bool GetClientExceptionInfo(EXCEPTION_POINTERS** ex_info) const;