diff options
Diffstat (limited to 'common')
-rw-r--r-- | common/glib-ectomy.c | 5 |
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; |