summaryrefslogtreecommitdiff
path: root/zebra
diff options
context:
space:
mode:
authorDonatas Abraitis <donatas@opensourcerouting.org>2024-06-25 13:47:33 +0300
committerGitHub <noreply@github.com>2024-06-25 13:47:33 +0300
commit13460af422393af62a5c7e8f3e1ba8bee0ebddbc (patch)
tree8b9852ceafbeea1279d0b6f687d03a961be1eb1d /zebra
parentecf1bc08ada60db9297ee87cb856dab27c1f6fe1 (diff)
parent6d1023a712f9d46f0d085367b63b9793c2cf4494 (diff)
Merge pull request #16239 from FRRouting/mergify/bp/dev/10.1/pr-16224
zebra: Prevent starvation in dplane_thread_loop (backport #16224)
Diffstat (limited to 'zebra')
-rw-r--r--zebra/zebra_dplane.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/zebra/zebra_dplane.c b/zebra/zebra_dplane.c
index 06b34da209..3944876439 100644
--- a/zebra/zebra_dplane.c
+++ b/zebra/zebra_dplane.c
@@ -7441,6 +7441,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);
}