]> git.ipfire.org Git - thirdparty/plymouth.git/commitdiff
event-loop: change assert to just check for is_running
authorEric Curtin <ecurtin@redhat.com>
Mon, 28 Mar 2022 14:58:27 +0000 (15:58 +0100)
committerRay Strode <halfline@gmail.com>
Mon, 28 Mar 2022 15:25:50 +0000 (15:25 +0000)
Simlify assert in ply_event_loop_free, to check that the event loop is
not running.

src/libply/ply-event-loop.c

index 57751c2709fdb8729ed151f86a688b1ef1b0d2cf..dc4e9af4b4ad18e0d52c033a4856a4f6c285a57d 100644 (file)
@@ -117,6 +117,7 @@ struct _ply_event_loop
         ply_signal_dispatcher_t *signal_dispatcher;
 
         uint32_t                 should_exit : 1;
+        uint32_t                 is_running : 1;
 };
 
 static void ply_event_loop_remove_source (ply_event_loop_t   *loop,
@@ -488,6 +489,7 @@ ply_event_loop_new (void)
         assert (loop->epoll_fd >= 0);
 
         loop->should_exit = false;
+        loop->is_running = false;
         loop->exit_code = 0;
 
         loop->sources = ply_list_new ();
@@ -570,8 +572,7 @@ ply_event_loop_free (ply_event_loop_t *loop)
         if (loop == NULL)
                 return;
 
-        assert (ply_list_get_length (loop->sources) == 0);
-        assert (ply_list_get_length (loop->timeout_watches) == 0);
+        assert (!loop->is_running);
 
         ply_signal_dispatcher_free (loop->signal_dispatcher);
         ply_event_loop_free_exit_closures (loop);
@@ -1306,6 +1307,7 @@ ply_event_loop_exit (ply_event_loop_t *loop,
 int
 ply_event_loop_run (ply_event_loop_t *loop)
 {
+        loop->is_running = true;
         while (!loop->should_exit) {
                 ply_event_loop_process_pending_events (loop);
         }
@@ -1315,6 +1317,7 @@ ply_event_loop_run (ply_event_loop_t *loop)
         ply_event_loop_free_timeout_watches (loop);
 
         loop->should_exit = false;
+        loop->is_running = false;
 
         return loop->exit_code;
 }