From 507d75d4532c9ed3be5b4f232ae1a0f434f97d83 Mon Sep 17 00:00:00 2001 From: Rafael Zalamena Date: Fri, 11 Oct 2019 11:15:56 -0300 Subject: [PATCH] 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 --- bfdd/bfd.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/bfdd/bfd.c b/bfdd/bfd.c index 0ff638350b..c15391c654 100644 --- a/bfdd/bfd.c +++ b/bfdd/bfd.c @@ -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); -- 2.39.5