X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fudev%2Fudevd.c;h=7c6c5d6a87d81252b5c1a8295cd645ba36eabead;hb=042f598892e2587d735e4de1f4aabcb3d89d05f1;hp=fd799cc910cacd19b9d73002aef78f62616eb799;hpb=47e737dc13bf4251ae5a2249ec29b34503ed92e1;p=elogind.git diff --git a/src/udev/udevd.c b/src/udev/udevd.c index fd799cc91..7c6c5d6a8 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -314,10 +314,12 @@ static void worker_new(struct event *event) udev_device_unref(dev); dev = NULL; - udev_event_unref(udev_event); - - if (udev_event->sigterm) + if (udev_event->sigterm) { + udev_event_unref(udev_event); goto out; + } + + udev_event_unref(udev_event); /* wait for more device messages from main udevd, or term signal */ while (dev == NULL) {