Move the mainloop quit check 31/214231/1
authorYoungHun Kim <yh8004.kim@samsung.com>
Fri, 6 Sep 2019 02:04:34 +0000 (11:04 +0900)
committerYoungHun Kim <yh8004.kim@samsung.com>
Thu, 19 Sep 2019 06:19:37 +0000 (15:19 +0900)
Change-Id: Id6c12df20650310305282298752ea4986ff16592

src/common/mainloop.c

index 72bc15a195d6e710039cf7c393e510f604110116..a6a2b68fd01d5834907ec882fd04cf47d7be60ba 100644 (file)
@@ -2182,6 +2182,9 @@ static void dispatch_poll_events(mrp_mainloop_t *ml)
     int                 i, fd;
 
     for (i = 0, e = ml->events; i < ml->poll_result; i++, e++) {
+        if (ml->quit)
+            break;
+
         fd = e->data.fd;
         w  = fdtbl_lookup(ml->fdtbl, fd);
 
@@ -2193,7 +2196,7 @@ static void dispatch_poll_events(mrp_mainloop_t *ml)
         if (!is_deleted(w)) {
             mrp_debug("dispatching I/O watch %p (fd %d)", w, fd);
             pthread_mutex_unlock(&ml->lock);
-            w->cb(w, w->fd, e->events, w->user_data);
+            w->cb(w, w->fd, e->events, w->user_data); /* strm_recv_cb */
             pthread_mutex_lock(&ml->lock);
         }
         else
@@ -2238,9 +2241,6 @@ static void dispatch_poll_events(mrp_mainloop_t *ml)
                 }
             }
         }
-
-        if (ml->quit)
-            break;
     }
 
     if (ml->quit)