]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
msg/async/Event: simplfy logical implementation
authorChangcheng Liu <changcheng.liu@aliyun.com>
Thu, 11 Jul 2019 09:21:07 +0000 (17:21 +0800)
committerChangcheng Liu <changcheng.liu@aliyun.com>
Fri, 23 Aug 2019 02:45:22 +0000 (10:45 +0800)
Signed-off-by: Changcheng Liu <changcheng.liu@aliyun.com>
src/msg/async/Event.h

index abd27845c88ce0ad098450bd485d4b4d3f177a45..fdfc0a315711499815ff65e7fa77f457ace17ba0 100644 (file)
@@ -247,13 +247,12 @@ class EventCenter {
     ceph_assert(i < MAX_EVENTCENTER && global_centers);
     EventCenter *c = global_centers->centers[i];
     ceph_assert(c);
-    if (!nowait && c->in_thread()) {
-      f();
-      return ;
-    }
     if (nowait) {
       C_submit_event<func> *event = new C_submit_event<func>(std::move(f), true);
       c->dispatch_event_external(event);
+    } else if (c->in_thread()) {
+      f();
+      return;
     } else {
       C_submit_event<func> event(std::move(f), false);
       c->dispatch_event_external(&event);