From: Kay Sievers Date: Thu, 23 Feb 2006 19:10:49 +0000 (+0100) Subject: udevd: fix queue export for multiple events for the same device X-Git-Tag: 174~2343 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=1a4e5303e0309fc629880a5abaf690b571ae6f2f;p=elogind.git udevd: fix queue export for multiple events for the same device Identified by Joachim Plack while working around the problem that the device nodes appear and disappear while the partitiontable is re-read and the application need to waait for an empty udevd queue. --- diff --git a/udevd.c b/udevd.c index 3f4605ed1..98e3d54b3 100644 --- a/udevd.c +++ b/udevd.c @@ -200,6 +200,10 @@ static void export_event_state(struct uevent_msg *msg, enum event_state state) if (loop_msg->devpath && strcmp(loop_msg->devpath, msg->devpath) == 0) return; + list_for_each_entry(loop_msg, &exec_list, node) + if (loop_msg->devpath && strcmp(loop_msg->devpath, msg->devpath) == 0) + return; + /* move failed events to the failed directory */ if (state == EVENT_FAILED) { create_path(filename_failed);