summaryrefslogtreecommitdiff
path: root/src/udev/udevd.c
diff options
context:
space:
mode:
authorTom Gundersen <teg@jklm.no>2015-03-11 22:27:46 +0100
committerAnthony G. Basile <blueness@gentoo.org>2015-03-18 20:42:07 -0400
commitf5d1fa66a17a61fb689a77fc21808bd54e93fd7c (patch)
treea79377cfa485d9a446c94e739d943003db1a219a /src/udev/udevd.c
parent5ddef03da1cddeb95d149b604fadf7862b0aa388 (diff)
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. Signed-off-by: Anthony G. Basile <blueness@gentoo.org>
Diffstat (limited to 'src/udev/udevd.c')
-rw-r--r--src/udev/udevd.c4
1 files changed, 0 insertions, 4 deletions
diff --git a/src/udev/udevd.c b/src/udev/udevd.c
index 6c220341c9..238d79b969 100644
--- a/src/udev/udevd.c
+++ b/src/udev/udevd.c
@@ -1363,12 +1363,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;