From: Steven Barth Date: Sat, 19 Oct 2013 11:00:49 +0000 (+0200) Subject: Fix ifupdate events X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=566af724dad393fa127e07469dcc9ade62bd3a75;p=oweals%2Fnetifd.git Fix ifupdate events --- diff --git a/interface-event.c b/interface-event.c index fe4759e..707764a 100644 --- a/interface-event.c +++ b/interface-event.c @@ -111,9 +111,9 @@ interface_queue_event(struct interface *iface, enum interface_event ev) last_ev = iface->hotplug_ev; iface->hotplug_ev = ev; - if (last_ev == ev && !list_empty(&iface->hotplug_list)) + if ((last_ev == ev && ev != IFEV_UPDATE) && !list_empty(&iface->hotplug_list)) list_del_init(&iface->hotplug_list); - else if (last_ev != ev && list_empty(&iface->hotplug_list)) + else if ((last_ev != ev || ev == IFEV_UPDATE) && list_empty(&iface->hotplug_list)) list_add(&iface->hotplug_list, &pending); if (!task.pending && !current)