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