From 090b6bc5205b924df4be3239b2f7d9c097fbb705 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Wed, 11 Mar 2015 22:27:46 +0100 Subject: [PATCH] udevd: don't free event when killing the worker, wait until it has been reaped This will allow us to clean up the device when we are notified about the worker being killed. --- src/udev/udevd.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/src/udev/udevd.c b/src/udev/udevd.c index c01fb4bb9..9426edca2 100644 --- a/src/udev/udevd.c +++ b/src/udev/udevd.c @@ -1414,12 +1414,8 @@ int main(int argc, char *argv[]) { kill(worker->pid, SIGKILL); worker->state = WORKER_KILLED; - /* drop reference taken for state 'running' */ - worker_unref(worker); log_error("seq %llu '%s' killed", udev_device_get_seqnum(worker->event->dev), worker->event->devpath); worker->event->exitcode = -64; - event_queue_delete(worker->event); - worker->event = NULL; } else if (!worker->event_warned) { log_warning("worker ["PID_FMT"] %s is taking a long time", worker->pid, worker->event->devpath); worker->event_warned = true; -- 2.30.2