bfdd: disable sockets polling before closing it

Otherwise the `thread_read` will keep waking us up to handle closing
sockets which are never unregistered.

Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
This commit is contained in:
Rafael Zalamena 2019-10-11 11:15:56 -03:00
parent c7666ae7a1
commit 507d75d453

View File

@ -1709,6 +1709,15 @@ static int bfd_vrf_disable(struct vrf *vrf)
}
log_debug("VRF disable %s id %d", vrf->name, vrf->vrf_id);
/* Disable read/write poll triggering. */
THREAD_OFF(bvrf->bg_ev[0]);
THREAD_OFF(bvrf->bg_ev[1]);
THREAD_OFF(bvrf->bg_ev[2]);
THREAD_OFF(bvrf->bg_ev[3]);
THREAD_OFF(bvrf->bg_ev[4]);
THREAD_OFF(bvrf->bg_ev[5]);
/* Close all descriptors. */
socket_close(&bvrf->bg_echo);
socket_close(&bvrf->bg_shop);