summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
Diffstat (limited to 'common')
-rw-r--r--common/glib-ectomy.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/common/glib-ectomy.c b/common/glib-ectomy.c
index 2f674cbc..6bbee3f1 100644
--- a/common/glib-ectomy.c
+++ b/common/glib-ectomy.c
@@ -243,9 +243,8 @@ static void timeout_handlers_check(GMainContext *context)
t = context->ltimeout->data;
- context->ltimeout = slist_remove(context->ltimeout, t);
-
if (timercmp(&tv, &t->expiration, <)) {
+ context->ltimeout = slist_remove(context->ltimeout, t);
context->processed = slist_append(context->processed, t);
continue;
}
@@ -257,6 +256,8 @@ static void timeout_handlers_check(GMainContext *context)
if (!slist_find(context->ltimeout, t, timeout_cmp))
continue;
+ context->ltimeout = slist_remove(context->ltimeout, t);
+
if (!ret) {
free(t);
continue;