diff options
Diffstat (limited to 'ubusd_event.c')
-rw-r--r-- | ubusd_event.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/ubusd_event.c b/ubusd_event.c index d36bcb7..ef433f8 100644 --- a/ubusd_event.c +++ b/ubusd_event.c @@ -35,10 +35,9 @@ static void ubusd_delete_event_source(struct event_source *evs) void ubusd_event_cleanup_object(struct ubus_object *obj) { - struct event_source *ev; + struct event_source *ev, *tmp; - while (!list_empty(&obj->events)) { - ev = list_first_entry(&obj->events, struct event_source, list); + list_for_each_entry_safe(ev, tmp, &obj->events, list) { ubusd_delete_event_source(ev); } } |