router: fix lingering uloop socket descriptor
[oweals/odhcpd.git] / src / router.c
index 0040e7a1f8bdd12d0950f1e97c26a6cd89af9c4c..c68d0d53c08caa9760884547e40998c3bac1d249 100644 (file)
@@ -213,6 +213,9 @@ int router_setup_interface(struct interface *iface, bool enable)
        }
 out:
        if (ret < 0 && iface->router_event.uloop.fd >= 0) {
+               if (iface->router_event.uloop.registered)
+                       uloop_fd_delete(&iface->router_event.uloop);
+
                close(iface->router_event.uloop.fd);
                iface->router_event.uloop.fd = -1;
        }