Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(165)

Unified Diff: third_party/crashpad/crashpad/handler/mac/exception_handler_server.cc

Issue 2825103002: Update Crashpad to b8aaa22905308cc400f880006a84dddac834bd6b (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/crashpad/crashpad/handler/mac/exception_handler_server.cc
diff --git a/third_party/crashpad/crashpad/handler/mac/exception_handler_server.cc b/third_party/crashpad/crashpad/handler/mac/exception_handler_server.cc
index 38a016e9d817dd20d0b0ad4959311b737108df18..3f30e03a1d50bc9f0638bf983133da486a0f59e3 100644
--- a/third_party/crashpad/crashpad/handler/mac/exception_handler_server.cc
+++ b/third_party/crashpad/crashpad/handler/mac/exception_handler_server.cc
@@ -105,7 +105,14 @@ class ExceptionHandlerServerRun : public UniversalMachExcServer::Interface,
MachMessageServer::kOneShot,
MachMessageServer::kReceiveLargeIgnore,
kMachMessageTimeoutWaitIndefinitely);
- MACH_CHECK(mr == MACH_MSG_SUCCESS, mr) << "MachMessageServer::Run";
+
+ // MACH_SEND_INVALID_DEST occurs when attempting to reply to a dead name.
+ // This can happen if a mach_exc or exc client disappears before a reply
+ // can be sent to it. That’s unusal for kernel-generated requests, but can
+ // easily happen if a task sends its own exception request (as
+ // SimulateCrash() does) and dies before the reply is sent.
+ MACH_CHECK(mr == MACH_MSG_SUCCESS || mr == MACH_SEND_INVALID_DEST, mr)
+ << "MachMessageServer::Run";
}
}

Powered by Google App Engine
This is Rietveld 408576698