| 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";
|
| }
|
| }
|
|
|
|
|