summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-08-13 14:23:35 -0700
committerSage Weil <sage@inktank.com>2013-08-13 14:39:34 -0700
commitb45d87676a01d5c948ea5df64e2cacae0f636748 (patch)
treefda4198196aaee1bfff60638f000c85acf93c32f
parent0964d53ef3e8e386e0a1635d2240aefad7b8e2c1 (diff)
downloadceph-wip-5955.tar.gz
common/Finisher: uninline/debug queue()wip-5955
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/common/Finisher.cc15
-rw-r--r--src/common/Finisher.h13
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());