From: Greg Farnum Date: Tue, 3 Aug 2010 21:50:55 +0000 (-0700) Subject: osd: switching dispatch_running to be a counter X-Git-Tag: v0.22~318 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=2fbf1e9f5b9e7f73e2d6dfd08875b291e319f6f8;p=ceph.git osd: switching dispatch_running to be a counter Now it works with multiple messengers dispatching. --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index f532b652700..c52a8b713f0 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -1846,9 +1846,9 @@ bool OSD::ms_dispatch(Message *m) { // lock! osd_lock.Lock(); - dispatch_running = true; + ++dispatch_running; _dispatch(m); - dispatch_running = false; + --dispatch_running; do_waiters(); osd_lock.Unlock(); return true; diff --git a/src/osd/OSD.h b/src/osd/OSD.h index 8e86991f46a..462513cfcff 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -130,7 +130,7 @@ protected: } }; - bool dispatch_running; + int dispatch_running; void open_logger(); void start_logger();