summaryrefslogtreecommitdiff
path: root/src/mongo/db/operation_context.cpp
diff options
context:
space:
mode:
authorKaloian Manassiev <kaloian.manassiev@mongodb.com>2015-12-29 12:04:55 -0500
committerKaloian Manassiev <kaloian.manassiev@mongodb.com>2015-12-30 15:35:28 -0500
commit5d2d6e209acd862324612c7f9c41d65940f8dcba (patch)
tree8ccfea2ba5cc6b118d5d82d70ebe06ba88b135aa /src/mongo/db/operation_context.cpp
parent5f4c54029d47229533b54c7683df71809cc26ff0 (diff)
downloadmongo-5d2d6e209acd862324612c7f9c41d65940f8dcba.tar.gz
SERVER-22027 Sharding should not retry killed operations
Diffstat (limited to 'src/mongo/db/operation_context.cpp')
-rw-r--r--src/mongo/db/operation_context.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mongo/db/operation_context.cpp b/src/mongo/db/operation_context.cpp
index 1b79dadcb50..1434ee5ddc7 100644
--- a/src/mongo/db/operation_context.cpp
+++ b/src/mongo/db/operation_context.cpp
@@ -46,12 +46,13 @@ Client* OperationContext::getClient() const {
return _client;
}
-void OperationContext::markKilled() {
- _killPending.store(1);
+void OperationContext::markKilled(ErrorCodes::Error killCode) {
+ invariant(killCode != ErrorCodes::OK);
+ _killCode.compareAndSwap(ErrorCodes::OK, killCode);
}
-bool OperationContext::isKillPending() const {
- return _killPending.loadRelaxed();
+ErrorCodes::Error OperationContext::getKillStatus() const {
+ return _killCode.loadRelaxed();
}
} // namespace mongo