summaryrefslogtreecommitdiff
path: root/interface-event.c
diff options
context:
space:
mode:
authorSteven Barth <steven@midlink.org>2013-10-19 13:00:49 +0200
committerSteven Barth <steven@midlink.org>2013-10-19 13:00:49 +0200
commit566af724dad393fa127e07469dcc9ade62bd3a75 (patch)
tree84c6aed97c77443e438cdf949d9b66174a18a795 /interface-event.c
parent9814c6c71e3a5c0332a5bd29c952fd661e4c4222 (diff)
downloadnetifd-566af724dad393fa127e07469dcc9ade62bd3a75.tar.gz
Fix ifupdate events
Diffstat (limited to 'interface-event.c')
-rw-r--r--interface-event.c4
1 files changed, 2 insertions, 2 deletions
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)