diff --git a/zebra/zebra_dplane.c b/zebra/zebra_dplane.c index 06b34da20932..394487643934 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); }