summaryrefslogtreecommitdiff
path: root/src/mongo/db/operation_context.h
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2014-09-16 17:16:32 -0400
committerEliot Horowitz <eliot@10gen.com>2014-09-17 10:49:29 -0400
commitbd0eed0a669ec9f77cb207d698c6bed002acdd0e (patch)
treeab8ccd978d36c1591501ec8215f2d03e5e639d48 /src/mongo/db/operation_context.h
parentbb0a34d80b4b1e555fab5dda4ddac8ae48e99152 (diff)
downloadmongo-bd0eed0a669ec9f77cb207d698c6bed002acdd0e.tar.gz
SERVER-13635: hook up mmap_v1 to SortedDataInterface test harness and fix mmap_v1
Diffstat (limited to 'src/mongo/db/operation_context.h')
-rw-r--r--src/mongo/db/operation_context.h15
1 files changed, 10 insertions, 5 deletions
diff --git a/src/mongo/db/operation_context.h b/src/mongo/db/operation_context.h
index 0f49d2cc9c9..5883b601d2a 100644
--- a/src/mongo/db/operation_context.h
+++ b/src/mongo/db/operation_context.h
@@ -140,20 +140,25 @@ namespace mongo {
public:
WriteUnitOfWork(OperationContext* txn)
: _txn(txn) {
- _txn->lockState()->beginWriteUnitOfWork();
+ if ( _txn->lockState() ) {
+ _txn->lockState()->beginWriteUnitOfWork();
+ }
_txn->recoveryUnit()->beginUnitOfWork();
}
~WriteUnitOfWork() {
_txn->recoveryUnit()->endUnitOfWork();
- _txn->lockState()->endWriteUnitOfWork();
+ if ( _txn->lockState() ) {
+ _txn->lockState()->endWriteUnitOfWork();
+ }
}
void commit() {
_txn->recoveryUnit()->commitUnitOfWork();
-
- _txn->lockState()->endWriteUnitOfWork();
- _txn->lockState()->beginWriteUnitOfWork();
+ if ( _txn->lockState() ) {
+ _txn->lockState()->endWriteUnitOfWork();
+ _txn->lockState()->beginWriteUnitOfWork();
+ }
}
private: