diff --git a/zebra/zebra_dplane.c b/zebra/zebra_dplane.c index ee48a571b832..7910559c4b41 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); }