From 1a4e5303e0309fc629880a5abaf690b571ae6f2f Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Thu, 23 Feb 2006 20:10:49 +0100 Subject: 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. --- udevd.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'udevd.c') diff --git a/udevd.c b/udevd.c index 3f4605ed11..98e3d54b33 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); -- cgit v1.2.3-54-g00ecf