summaryrefslogtreecommitdiff
path: root/src/mongo/db/introspect.cpp
diff options
context:
space:
mode:
authorEliot Horowitz <eliot@10gen.com>2014-11-03 17:31:25 -0500
committerEliot Horowitz <eliot@10gen.com>2014-11-03 17:31:25 -0500
commita69c4001dd891bf5d9b2862455d743d5d438cc96 (patch)
tree74f8154049c03b0275c59c6e849ca52bcfce5219 /src/mongo/db/introspect.cpp
parentaa67a4e69eeb73fedc64f9a9588c2fa24cf8c6ab (diff)
downloadmongo-a69c4001dd891bf5d9b2862455d743d5d438cc96.tar.gz
SERVER-15888: fix profiling inf. loop when can't profile
Diffstat (limited to 'src/mongo/db/introspect.cpp')
-rw-r--r--src/mongo/db/introspect.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/mongo/db/introspect.cpp b/src/mongo/db/introspect.cpp
index 0b3afeb947d..1359abf0375 100644
--- a/src/mongo/db/introspect.cpp
+++ b/src/mongo/db/introspect.cpp
@@ -162,6 +162,10 @@ namespace {
WriteUnitOfWork wunit(txn);
Client::Context cx(txn, currentOp.getNS(), false);
if ( !_profile(txn, c, cx.db(), currentOp, profileBufBuilder ) && lk.get() ) {
+ if ( tryAgain ) {
+ // we couldn't profile, but that's ok, we should have logged already
+ break;
+ }
// we took an IX lock, so now we try again with an X lock
tryAgain = true;
continue;