diff options
| author | Donatas Abraitis <donatas@opensourcerouting.org> | 2024-06-19 10:22:36 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-06-19 10:22:36 +0300 |
| commit | 64112ed9e65eacd9a706d59fd1345ae64ee6c4a4 (patch) | |
| tree | 815ad4dbdca585f710df9704816db0f41544422b | |
| parent | 86d2466d5a6b33ef40bdf45ae0d0737e120dc03c (diff) | |
| parent | 6faad863f30d29157e4c675ad956e3ccd38991a7 (diff) | |
Merge pull request #16224 from donaldsharp/zebra_dplane_event_loop_starvation
zebra: Prevent starvation in dplane_thread_loop
| -rw-r--r-- | zebra/zebra_dplane.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/zebra/zebra_dplane.c b/zebra/zebra_dplane.c index ee48a571b8..7910559c4b 100644 --- a/zebra/zebra_dplane.c +++ b/zebra/zebra_dplane.c @@ -7446,6 +7446,11 @@ static void dplane_thread_loop(struct event *event) zlog_debug("dplane dequeues %d completed work from provider %s", counter, dplane_provider_get_name(prov)); + if (event_should_yield(event)) { + reschedule = true; + break; + } + /* Locate next provider */ prov = dplane_prov_list_next(&zdplane_info.dg_providers, prov); } |
