From ba93c521b3b287eacc580d067dce1831f1e336a1 Mon Sep 17 00:00:00 2001 From: Vincent Bernat Date: Wed, 26 Sep 2012 21:08:08 +0200 Subject: [PATCH] interfaces: don't listen to enslaved interface until master interface has been configured In case of errors, we were leaking events. --- src/daemon/interfaces.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/daemon/interfaces.c b/src/daemon/interfaces.c index d17c8cd8..7441080a 100644 --- a/src/daemon/interfaces.c +++ b/src/daemon/interfaces.c @@ -780,7 +780,6 @@ iface_bond_init(struct lldpd *cfg, struct lldpd_hardware *hardware) if ((fd = priv_iface_init(hardware->h_ifname)) == -1) return -1; hardware->h_sendfd = fd; - levent_hardware_add_fd(hardware, fd); if ((status = iface_set_filter(hardware->h_ifname, fd)) != 0) { close(fd); return status; @@ -809,6 +808,7 @@ iface_bond_init(struct lldpd *cfg, struct lldpd_hardware *hardware) } iface_multicast(cfg, mastername, 0); + levent_hardware_add_fd(hardware, hardware->h_sendfd); levent_hardware_add_fd(hardware, fd); LLOG_DEBUG("interface %s initialized (fd=%d,master=%s[%d])", hardware->h_ifname, -- 2.39.5