diff options
author | Kay Sievers <kay.sievers@suse.de> | 2006-02-23 20:10:49 +0100 |
---|---|---|
committer | Kay Sievers <kay.sievers@suse.de> | 2006-02-23 20:10:49 +0100 |
commit | 1a4e5303e0309fc629880a5abaf690b571ae6f2f (patch) | |
tree | a0fbcb3486f552e6cd176b469567dd087c1aeae6 /udevd.c | |
parent | dd8140ae79de87f72a956c0806e303984e827c6b (diff) |
udevd: fix queue export for multiple events for the same device
Identified by Joachim Plack <jplack@suse.de> 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.
Diffstat (limited to 'udevd.c')
-rw-r--r-- | udevd.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -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); |