From: Rafael Zalamena Date: Fri, 11 Oct 2019 14:15:56 +0000 (-0300) Subject: bfdd: disable sockets polling before closing it X-Git-Tag: base_7.3~267^2~4 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=507d75d4532c9ed3be5b4f232ae1a0f434f97d83;p=mirror%2Ffrr.git 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 --- 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);