[PATCH 28/42] Clean up uevent queue on shutdown

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



During shutdown there might be some unprocessed events
in the queue. So clear them up.

Signed-off-by: Hannes Reinecke <hare@xxxxxxx>
---
 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

--
dm-devel mailing list
dm-devel@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/dm-devel


[Index of Archives]     [DM Crypt]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Packaging]     [Fedora SELinux]     [Yosemite Discussion]     [KDE Users]     [Fedora Docs]

  Powered by Linux