From: Lennart Poettering Date: Thu, 27 Aug 2015 15:38:05 +0000 (+0200) Subject: networkd: make sure we remove udev fd from epoll *before* closing it X-Git-Tag: v226~89^2~5 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2f5b4a774a656d1da1daed604d3f4c15417c1897;p=thirdparty%2Fsystemd.git networkd: make sure we remove udev fd from epoll *before* closing it Otherwise we'll try to remove an invalid fd from epoll all the time. --- diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index 46bcdff1cf3..c8f6d05a9bc 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -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); }