diff options
Diffstat (limited to 'src/mongo/db/kill_current_op.cpp')
-rw-r--r-- | src/mongo/db/kill_current_op.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/mongo/db/kill_current_op.cpp b/src/mongo/db/kill_current_op.cpp index a938489ecc9..12901a345a2 100644 --- a/src/mongo/db/kill_current_op.cpp +++ b/src/mongo/db/kill_current_op.cpp @@ -114,6 +114,11 @@ namespace mongo { if (_globalKill) { uasserted(11600, "interrupted at shutdown"); } + if (c.curop()->maxTimeHasExpired()) { + c.curop()->kill(); + notifyAllWaiters(); + uasserted(16986, "operation exceeded time limit"); + } if (c.curop()->killPending()) { notifyAllWaiters(); uasserted(11601, "operation was interrupted"); @@ -126,6 +131,10 @@ namespace mongo { if (_globalKill) { return "interrupted at shutdown"; } + if (c.curop()->maxTimeHasExpired()) { + c.curop()->kill(); + return "exceeded time limit"; + } if (c.curop()->killPending()) { return "interrupted"; } |