X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fnetwork%2Fnetworkd-manager.c;h=1b5837e42ca4e029681aa8372b7b68d95b6a39b0;hp=d59b9139a3691e5795ef8afe2bbb09e03aeb45d8;hb=7b77ed8cf36e8eca6017791626044b61ae2d68e7;hpb=c5ef10429a7768e3453f29e8c85cb560ce382649;ds=sidebyside diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index d59b9139a..1b5837e42 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -22,6 +22,7 @@ #include "path-util.h" #include "networkd.h" #include "libudev-private.h" +#include "udev-util.h" int manager_new(Manager **ret) { _cleanup_manager_free_ Manager *m = NULL; @@ -204,19 +205,13 @@ finish: static int manager_dispatch_link_udev(sd_event_source *source, int fd, uint32_t revents, void *userdata) { Manager *m = userdata; struct udev_monitor *monitor = m->udev_monitor; - struct udev_device *device; - int r; + _cleanup_udev_device_unref_ struct udev_device *device = NULL; device = udev_monitor_receive_device(monitor); if (!device) return -ENOMEM; - r = manager_process_link(m, device); - if (r < 0) - return r; - - udev_device_unref(device); - + manager_process_link(m, device); return 0; }