[dm-devel] [PATCH 28/42] Clean up uevent queue on shutdown
Hannes Reinecke
hare at suse.de
Tue Jan 8 13:54:06 UTC 2013
During shutdown there might be some unprocessed events
in the queue. So clear them up.
Signed-off-by: Hannes Reinecke <hare at suse.de>
---
libmultipath/uevent.c | 12 ++++++++++++
1 files changed, 12 insertions(+), 0 deletions(-)
diff --git a/libmultipath/uevent.c b/libmultipath/uevent.c
index b74fb08..5b0b258 100644
--- a/libmultipath/uevent.c
+++ b/libmultipath/uevent.c
@@ -132,6 +132,17 @@ static void uevq_stop(void *arg)
pthread_mutex_unlock(uevq_lockp);
}
+void
+uevq_cleanup(struct list_head *tmpq)
+{
+ struct uevent *uev, *tmp;
+
+ list_for_each_entry_safe(uev, tmp, tmpq, node) {
+ list_del_init(&uev->node);
+ FREE(uev);
+ }
+}
+
/*
* Service the uevent queue.
*/
@@ -163,6 +174,7 @@ int uevent_dispatch(int (*uev_trigger)(struct uevent *, void * trigger_data),
service_uevq(&uevq_tmp);
}
condlog(3, "Terminating uev service queue");
+ uevq_cleanup(&uevq);
return 0;
}
--
1.7.4.2
More information about the dm-devel
mailing list