diff options
-rw-r--r-- | src/common/Finisher.cc | 15 | ||||
-rw-r--r-- | src/common/Finisher.h | 13 |
2 files changed, 16 insertions, 12 deletions
diff --git a/src/common/Finisher.cc b/src/common/Finisher.cc index 72bfb6f9aa7..076da694414 100644 --- a/src/common/Finisher.cc +++ b/src/common/Finisher.cc @@ -34,6 +34,21 @@ void Finisher::wait_for_empty() finisher_lock.Unlock(); } +void Finisher::queue(Context *c, int r) +{ + finisher_lock.Lock(); + ldout(cct, 10) << "queue " << c << " " << r << dendl; + if (r) { + finisher_queue_rval.push_back(pair<Context*, int>(c, r)); + finisher_queue.push_back(NULL); + } else + finisher_queue.push_back(c); + finisher_cond.Signal(); + finisher_lock.Unlock(); + if (logger) + logger->inc(l_finisher_queue_len); +} + void *Finisher::finisher_thread_entry() { finisher_lock.Lock(); diff --git a/src/common/Finisher.h b/src/common/Finisher.h index 173b924d7ad..abb78670e14 100644 --- a/src/common/Finisher.h +++ b/src/common/Finisher.h @@ -47,18 +47,7 @@ class Finisher { } finisher_thread; public: - void queue(Context *c, int r = 0) { - finisher_lock.Lock(); - if (r) { - finisher_queue_rval.push_back(pair<Context*, int>(c, r)); - finisher_queue.push_back(NULL); - } else - finisher_queue.push_back(c); - finisher_cond.Signal(); - finisher_lock.Unlock(); - if (logger) - logger->inc(l_finisher_queue_len); - } + void queue(Context *c, int r = 0); void queue(vector<Context*>& ls) { finisher_lock.Lock(); finisher_queue.insert(finisher_queue.end(), ls.begin(), ls.end()); |