]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
networkd: make sure we remove udev fd from epoll *before* closing it
authorLennart Poettering <lennart@poettering.net>
Thu, 27 Aug 2015 15:38:05 +0000 (17:38 +0200)
committerLennart Poettering <lennart@poettering.net>
Thu, 27 Aug 2015 15:38:05 +0000 (17:38 +0200)
Otherwise we'll try to remove an invalid fd from epoll all the time.

src/network/networkd-manager.c

index 46bcdff1cf30513c6b039e6e7070b3e586cb1f72..c8f6d05a9bc5f4ffe4d2cf57e143c1cb8e7c2cb6 100644 (file)
@@ -477,13 +477,13 @@ void manager_free(Manager *m) {
 
         free(m->state_file);
 
+        sd_event_source_unref(m->udev_event_source);
         udev_monitor_unref(m->udev_monitor);
         udev_unref(m->udev);
+
         sd_bus_unref(m->bus);
         sd_bus_slot_unref(m->prepare_for_sleep_slot);
-        sd_event_source_unref(m->udev_event_source);
         sd_event_source_unref(m->bus_retry_event_source);
-        sd_event_unref(m->event);
 
         while ((link = hashmap_first(m->links)))
                 link_unref(link);
@@ -502,6 +502,7 @@ void manager_free(Manager *m) {
                 address_pool_free(pool);
 
         sd_netlink_unref(m->rtnl);
+        sd_event_unref(m->event);
 
         free(m);
 }