summaryrefslogtreecommitdiff
path: root/src/mongo/db/operation_context.h
diff options
context:
space:
mode:
authorJason Carey <jcarey@argv.me>2019-03-05 10:47:33 -0500
committerJason Carey <jcarey@argv.me>2019-03-11 10:26:49 -0400
commit1659623793b9d337e4061fc294ec258c99b1171e (patch)
tree592a21f84eb6bbbf8ca025bd04b7ccee89dc6db1 /src/mongo/db/operation_context.h
parentbe65d84da8e84ea99a1075339bd49a23a688d756 (diff)
downloadmongo-1659623793b9d337e4061fc294ec258c99b1171e.tar.gz
SERVER-39960 Simplify opCtx::markKilled
Operation context currently relies on an elaborate dance between the client lock, _waitMutex, _waitCV and _numKillers to allow markKilled to tap the condvar an opctx is waiting on. After the introduction of batons on all opctx's, this is no longer necessary (as batons have their own support for being woken, while waiting on a condvar). Removing the special killing code will simplify opctx, and remove a lot of extra book keeping.
Diffstat (limited to 'src/mongo/db/operation_context.h')
-rw-r--r--src/mongo/db/operation_context.h19
1 files changed, 0 insertions, 19 deletions
diff --git a/src/mongo/db/operation_context.h b/src/mongo/db/operation_context.h
index 56a363aab3e..ffa9678d7a0 100644
--- a/src/mongo/db/operation_context.h
+++ b/src/mongo/db/operation_context.h
@@ -446,27 +446,8 @@ private:
// once from OK to some kill code.
AtomicWord<ErrorCodes::Error> _killCode{ErrorCodes::OK};
- // A transport Baton associated with the operation. The presence of this object implies that a
- // client thread is doing it's own async networking by blocking on it's own thread.
BatonHandle _baton;
- // If non-null, _waitMutex and _waitCV are the (mutex, condition variable) pair that the
- // operation is currently waiting on inside a call to waitForConditionOrInterrupt...().
- //
- // _waitThread is the calling thread's thread id.
- //
- // All access guarded by the Client's lock.
- stdx::mutex* _waitMutex = nullptr;
- stdx::condition_variable* _waitCV = nullptr;
- stdx::thread::id _waitThread;
-
- // If _waitMutex and _waitCV are non-null, this is the number of threads in a call to markKilled
- // actively attempting to kill the operation. If this value is non-zero, the operation is inside
- // waitForConditionOrInterrupt...() and must stay there until _numKillers reaches 0.
- //
- // All access guarded by the Client's lock.
- int _numKillers = 0;
-
WriteConcernOptions _writeConcern;
// The timepoint at which this operation exceeds its time limit.