summaryrefslogtreecommitdiff
path: root/src/mongo/db/background.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/background.cpp')
-rw-r--r--src/mongo/db/background.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/src/mongo/db/background.cpp b/src/mongo/db/background.cpp
index 555062f7e63..d427c4db301 100644
--- a/src/mongo/db/background.cpp
+++ b/src/mongo/db/background.cpp
@@ -124,6 +124,14 @@ bool BackgroundOperation::inProgForDb(StringData db) {
return dbsInProg.find(db) != dbsInProg.end();
}
+int BackgroundOperation::numInProgForDb(StringData db) {
+ stdx::lock_guard<stdx::mutex> lk(m);
+ std::shared_ptr<BgInfo> bgInfo = mapFindWithDefault(dbsInProg, db, std::shared_ptr<BgInfo>());
+ if (!bgInfo)
+ return 0;
+ return bgInfo->getOpsInProgCount();
+}
+
bool BackgroundOperation::inProgForNs(StringData ns) {
stdx::lock_guard<stdx::mutex> lk(m);
return nsInProg.find(ns) != nsInProg.end();
@@ -147,13 +155,6 @@ void BackgroundOperation::assertNoBgOpInProgForNs(StringData ns) {
!inProgForNs(ns));
}
-void BackgroundOperation::awaitNoBgOpInProgForDbs(std::vector<StringData> dbs) {
- stdx::unique_lock<stdx::mutex> lk(m);
- for (auto db : dbs) {
- awaitNoBgOps(lk, &dbsInProg, db);
- }
-}
-
void BackgroundOperation::awaitNoBgOpInProgForDb(StringData db) {
stdx::unique_lock<stdx::mutex> lk(m);
awaitNoBgOps(lk, &dbsInProg, db);