diff options
| author | Mark Stapp <mjs@cisco.com> | 2024-11-25 15:37:39 -0500 |
|---|---|---|
| committer | Mark Stapp <mjs@cisco.com> | 2024-11-25 15:37:39 -0500 |
| commit | 277784fe34d3036c9f6f37bc7deff7fb235012ee (patch) | |
| tree | ee262bf513d225568a6dc04b729fd6ed95fa34b2 /lib/routing_nb.c | |
| parent | 0bacbc6493ae0fb9b946e2df475367ea4541a5c8 (diff) | |
zebra: avoid a race during FPM dplane plugin shutdown
During zebra shutdown, the main pthread and the FPM pthread can
deadlock if the FPM pthread is in fpm_reconnect(). Each pthread
tries to use event_cancel_async() to cancel tasks that may be
scheduled for the other pthread - this leads to a deadlock as
neither thread can progress.
This adds an atomic boolean that's managed as each pthread
enters and leaves the cleanup code in question, preventing the
two threads from running into the deadlock.
Signed-off-by: Mark Stapp <mjs@cisco.com>
Diffstat (limited to 'lib/routing_nb.c')
0 files changed, 0 insertions, 0 deletions
