summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-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)