Status OperationContextImpl::checkForInterruptNoAssert() const { if (getGlobalServiceContext()->getKillAllOperations()) { return Status(ErrorCodes::InterruptedAtShutdown, "interrupted at shutdown"); } CurOp* curOp = CurOp::get(this); if (curOp->maxTimeHasExpired()) { curOp->kill(); return Status(ErrorCodes::ExceededTimeLimit, "operation exceeded time limit"); } MONGO_FAIL_POINT_BLOCK(checkForInterruptFail, scopedFailPoint) { if (opShouldFail(this, scopedFailPoint.getData())) { log() << "set pending kill on " << (curOp->parent() ? "nested" : "top-level") << " op " << curOp->opNum() << ", for checkForInterruptFail"; curOp->kill(); } } if (curOp->killPending()) { return Status(ErrorCodes::Interrupted, "operation was interrupted"); } return Status::OK(); }