diff --git a/src/udev/udevd.c b/src/udev/udevd.c index 7c6c5d6a8..fd799cc91 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -314,13 +314,11 @@ static void worker_new(struct event *event) udev_device_unref(dev); dev = NULL; - if (udev_event->sigterm) { - udev_event_unref(udev_event); - goto out; - } - udev_event_unref(udev_event); + if (udev_event->sigterm) + goto out; + /* wait for more device messages from main udevd, or term signal */ while (dev == NULL) { struct epoll_event ev[4];