From 7cd8da78b582daf84ddde2b1e512cea1f08e7910 Mon Sep 17 00:00:00 2001 From: Colin Thomas <33940547+colinthomas-z80@users.noreply.github.com> Date: Thu, 6 Feb 2025 08:10:24 -0500 Subject: [PATCH] vine: link_poll handle whole buffer (#4054) * read in whole link buffer * add break, formatting --- taskvine/src/manager/vine_manager.c | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/taskvine/src/manager/vine_manager.c b/taskvine/src/manager/vine_manager.c index ea99eb81eb..b381e6a373 100644 --- a/taskvine/src/manager/vine_manager.c +++ b/taskvine/src/manager/vine_manager.c @@ -4991,14 +4991,17 @@ static int poll_active_workers(struct vine_manager *q, int stoptime) BEGIN_ACCUM_TIME(q, time_status_msgs); - int i, j = 1; + int i; int workers_failed = 0; // Then consider all existing active workers - for (i = j; i < n; i++) { + for (i = 1; i < n; i++) { if (q->poll_table[i].revents) { - if (handle_worker(q, q->poll_table[i].link) == VINE_WORKER_FAILURE) { - workers_failed++; - } + do { + if (handle_worker(q, q->poll_table[i].link) == VINE_WORKER_FAILURE) { + workers_failed++; + break; + } + } while (!link_buffer_empty(q->poll_table[i].link)); } }