From 016b2215495070e21ab6718fc72f87b6ab4cbe14 Mon Sep 17 00:00:00 2001 From: Pierrick HYMBERT Date: Thu, 22 Feb 2024 21:47:51 +0100 Subject: [PATCH] server: fix health/slots endpoint slot state access available race condition --- examples/server/server.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/server/server.cpp b/examples/server/server.cpp index 020cc2797..8a62f18e4 100644 --- a/examples/server/server.cpp +++ b/examples/server/server.cpp @@ -1400,11 +1400,6 @@ struct llama_server_context int n_processing_slots = 0; for (llama_client_slot &slot: slots) { - if (slot.available()) { - n_idle_slots++; - } else { - n_processing_slots++; - } json slot_data = get_formated_generation(slot); slot_data["id"] = slot.id; slot_data["task_id"] = slot.task_id; @@ -1419,6 +1414,11 @@ struct llama_server_context {"stopped_limit", slot.stopped_limit}, {"stopping_word", slot.stopping_word}, }; + if (slot_data["state"] == IDLE) { + n_idle_slots++; + } else { + n_processing_slots++; + } slots_data.push_back(slot_data); } LOG_TEE("task %i - slots data: idle=%i processing=%i\n", task.id, n_idle_slots, n_processing_slots);