From 69546a480244f515eec24d068c12d2bf055f5a24 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Fri, 7 Aug 2020 11:39:50 +1000 Subject: [PATCH] libei: discard all events on the final unref ei_disconnect() may queue an event during destroy, so let's get rid of that. Signed-off-by: Peter Hutterer --- src/libei.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/libei.c b/src/libei.c index 102801b..d1b9cc2 100644 --- a/src/libei.c +++ b/src/libei.c @@ -115,6 +115,11 @@ static void ei_destroy(struct ei *ei) { ei_disconnect(ei); + + struct ei_event *e; + while ((e = ei_get_event(ei)) != NULL) + ei_event_unref(e); + ei->logger = logger_unref(ei->logger); if (ei->backend_interface.destroy) ei->backend_interface.destroy(ei, ei->backend);