mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-07 07:48:07 +00:00
bfdd: use THREAD_OFF() instead of thread_cancel()
Use a standardized function to cancel threads instead of hand rolling our own. Signed-off-by: Rafael Zalamena <rzalamena@opensourcerouting.org>
This commit is contained in:
parent
2f11c53f55
commit
8529e18048
@ -420,27 +420,27 @@ ssize_t bfd_recv_ipv6(int sd, uint8_t *msgbuf, size_t msgbuflen, uint8_t *ttl,
|
|||||||
static void bfd_sd_reschedule(int sd)
|
static void bfd_sd_reschedule(int sd)
|
||||||
{
|
{
|
||||||
if (sd == bglobal.bg_shop) {
|
if (sd == bglobal.bg_shop) {
|
||||||
bglobal.bg_ev[0] = NULL;
|
THREAD_OFF(bglobal.bg_ev[0]);
|
||||||
thread_add_read(master, bfd_recv_cb, NULL, bglobal.bg_shop,
|
thread_add_read(master, bfd_recv_cb, NULL, bglobal.bg_shop,
|
||||||
&bglobal.bg_ev[0]);
|
&bglobal.bg_ev[0]);
|
||||||
} else if (sd == bglobal.bg_mhop) {
|
} else if (sd == bglobal.bg_mhop) {
|
||||||
bglobal.bg_ev[1] = NULL;
|
THREAD_OFF(bglobal.bg_ev[1]);
|
||||||
thread_add_read(master, bfd_recv_cb, NULL, bglobal.bg_mhop,
|
thread_add_read(master, bfd_recv_cb, NULL, bglobal.bg_mhop,
|
||||||
&bglobal.bg_ev[1]);
|
&bglobal.bg_ev[1]);
|
||||||
} else if (sd == bglobal.bg_shop6) {
|
} else if (sd == bglobal.bg_shop6) {
|
||||||
bglobal.bg_ev[2] = NULL;
|
THREAD_OFF(bglobal.bg_ev[2]);
|
||||||
thread_add_read(master, bfd_recv_cb, NULL, bglobal.bg_shop6,
|
thread_add_read(master, bfd_recv_cb, NULL, bglobal.bg_shop6,
|
||||||
&bglobal.bg_ev[2]);
|
&bglobal.bg_ev[2]);
|
||||||
} else if (sd == bglobal.bg_mhop6) {
|
} else if (sd == bglobal.bg_mhop6) {
|
||||||
bglobal.bg_ev[3] = NULL;
|
THREAD_OFF(bglobal.bg_ev[3]);
|
||||||
thread_add_read(master, bfd_recv_cb, NULL, bglobal.bg_mhop6,
|
thread_add_read(master, bfd_recv_cb, NULL, bglobal.bg_mhop6,
|
||||||
&bglobal.bg_ev[3]);
|
&bglobal.bg_ev[3]);
|
||||||
} else if (sd == bglobal.bg_echo) {
|
} else if (sd == bglobal.bg_echo) {
|
||||||
bglobal.bg_ev[4] = NULL;
|
THREAD_OFF(bglobal.bg_ev[4]);
|
||||||
thread_add_read(master, bfd_recv_cb, NULL, bglobal.bg_echo,
|
thread_add_read(master, bfd_recv_cb, NULL, bglobal.bg_echo,
|
||||||
&bglobal.bg_ev[4]);
|
&bglobal.bg_ev[4]);
|
||||||
} else if (sd == bglobal.bg_echov6) {
|
} else if (sd == bglobal.bg_echov6) {
|
||||||
bglobal.bg_ev[5] = NULL;
|
THREAD_OFF(bglobal.bg_ev[5]);
|
||||||
thread_add_read(master, bfd_recv_cb, NULL, bglobal.bg_echov6,
|
thread_add_read(master, bfd_recv_cb, NULL, bglobal.bg_echov6,
|
||||||
&bglobal.bg_ev[5]);
|
&bglobal.bg_ev[5]);
|
||||||
}
|
}
|
||||||
|
36
bfdd/event.c
36
bfdd/event.c
@ -49,8 +49,7 @@ void bfd_recvtimer_update(struct bfd_session *bs)
|
|||||||
#endif /* BFD_EVENT_DEBUG */
|
#endif /* BFD_EVENT_DEBUG */
|
||||||
|
|
||||||
/* Remove previous schedule if any. */
|
/* Remove previous schedule if any. */
|
||||||
if (bs->recvtimer_ev)
|
bfd_recvtimer_delete(bs);
|
||||||
bfd_recvtimer_delete(bs);
|
|
||||||
|
|
||||||
thread_add_timer_tv(master, bfd_recvtimer_cb, bs, &tv,
|
thread_add_timer_tv(master, bfd_recvtimer_cb, bs, &tv,
|
||||||
&bs->recvtimer_ev);
|
&bs->recvtimer_ev);
|
||||||
@ -70,8 +69,7 @@ void bfd_echo_recvtimer_update(struct bfd_session *bs)
|
|||||||
#endif /* BFD_EVENT_DEBUG */
|
#endif /* BFD_EVENT_DEBUG */
|
||||||
|
|
||||||
/* Remove previous schedule if any. */
|
/* Remove previous schedule if any. */
|
||||||
if (bs->echo_recvtimer_ev)
|
bfd_echo_recvtimer_delete(bs);
|
||||||
bfd_echo_recvtimer_delete(bs);
|
|
||||||
|
|
||||||
thread_add_timer_tv(master, bfd_echo_recvtimer_cb, bs, &tv,
|
thread_add_timer_tv(master, bfd_echo_recvtimer_cb, bs, &tv,
|
||||||
&bs->echo_recvtimer_ev);
|
&bs->echo_recvtimer_ev);
|
||||||
@ -91,8 +89,7 @@ void bfd_xmttimer_update(struct bfd_session *bs, uint64_t jitter)
|
|||||||
#endif /* BFD_EVENT_DEBUG */
|
#endif /* BFD_EVENT_DEBUG */
|
||||||
|
|
||||||
/* Remove previous schedule if any. */
|
/* Remove previous schedule if any. */
|
||||||
if (bs->xmttimer_ev)
|
bfd_xmttimer_delete(bs);
|
||||||
bfd_xmttimer_delete(bs);
|
|
||||||
|
|
||||||
thread_add_timer_tv(master, bfd_xmt_cb, bs, &tv, &bs->xmttimer_ev);
|
thread_add_timer_tv(master, bfd_xmt_cb, bs, &tv, &bs->xmttimer_ev);
|
||||||
}
|
}
|
||||||
@ -111,8 +108,7 @@ void bfd_echo_xmttimer_update(struct bfd_session *bs, uint64_t jitter)
|
|||||||
#endif /* BFD_EVENT_DEBUG */
|
#endif /* BFD_EVENT_DEBUG */
|
||||||
|
|
||||||
/* Remove previous schedule if any. */
|
/* Remove previous schedule if any. */
|
||||||
if (bs->echo_xmttimer_ev)
|
bfd_echo_xmttimer_delete(bs);
|
||||||
bfd_echo_xmttimer_delete(bs);
|
|
||||||
|
|
||||||
thread_add_timer_tv(master, bfd_echo_xmt_cb, bs, &tv,
|
thread_add_timer_tv(master, bfd_echo_xmt_cb, bs, &tv,
|
||||||
&bs->echo_xmttimer_ev);
|
&bs->echo_xmttimer_ev);
|
||||||
@ -120,36 +116,20 @@ void bfd_echo_xmttimer_update(struct bfd_session *bs, uint64_t jitter)
|
|||||||
|
|
||||||
void bfd_recvtimer_delete(struct bfd_session *bs)
|
void bfd_recvtimer_delete(struct bfd_session *bs)
|
||||||
{
|
{
|
||||||
if (bs->recvtimer_ev == NULL)
|
THREAD_OFF(bs->recvtimer_ev);
|
||||||
return;
|
|
||||||
|
|
||||||
thread_cancel(bs->recvtimer_ev);
|
|
||||||
bs->recvtimer_ev = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void bfd_echo_recvtimer_delete(struct bfd_session *bs)
|
void bfd_echo_recvtimer_delete(struct bfd_session *bs)
|
||||||
{
|
{
|
||||||
if (bs->echo_recvtimer_ev == NULL)
|
THREAD_OFF(bs->echo_recvtimer_ev);
|
||||||
return;
|
|
||||||
|
|
||||||
thread_cancel(bs->echo_recvtimer_ev);
|
|
||||||
bs->echo_recvtimer_ev = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void bfd_xmttimer_delete(struct bfd_session *bs)
|
void bfd_xmttimer_delete(struct bfd_session *bs)
|
||||||
{
|
{
|
||||||
if (bs->xmttimer_ev == NULL)
|
THREAD_OFF(bs->xmttimer_ev);
|
||||||
return;
|
|
||||||
|
|
||||||
thread_cancel(bs->xmttimer_ev);
|
|
||||||
bs->xmttimer_ev = NULL;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void bfd_echo_xmttimer_delete(struct bfd_session *bs)
|
void bfd_echo_xmttimer_delete(struct bfd_session *bs)
|
||||||
{
|
{
|
||||||
if (bs->echo_xmttimer_ev == NULL)
|
THREAD_OFF(bs->echo_xmttimer_ev);
|
||||||
return;
|
|
||||||
|
|
||||||
thread_cancel(bs->echo_xmttimer_ev);
|
|
||||||
bs->echo_xmttimer_ev = NULL;
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user