From b003531bfa2f0a4e123c6227513a79b5d0ed16a0 Mon Sep 17 00:00:00 2001 From: tomoron Date: Fri, 14 Mar 2025 14:36:29 +0100 Subject: [PATCH] fix crash when client finish job --- srcs/class/Clusterizer/server.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/srcs/class/Clusterizer/server.cpp b/srcs/class/Clusterizer/server.cpp index d4da866..3c5190a 100644 --- a/srcs/class/Clusterizer/server.cpp +++ b/srcs/class/Clusterizer/server.cpp @@ -6,7 +6,7 @@ /* By: tomoron +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/02/20 21:08:38 by tomoron #+# #+# */ -/* Updated: 2025/02/25 22:06:58 by tomoron ### ########.fr */ +/* Updated: 2025/03/14 14:22:06 by tomoron ### ########.fr */ /* */ /* ************************************************************************** */ @@ -152,10 +152,10 @@ void Clusterizer::getImageFromClient(int fd, std::vector &buf) buf.erase(buf.begin(), buf.begin() + (WIDTH * HEIGHT * 3)); _clients[fd].gotGo = 0; - _clients[fd].curJob = 0; _clients[fd].readyRespond = 0; - _jobs[IN_PROGRESS].erase(std::find(_jobs[IN_PROGRESS].begin(), _jobs[IN_PROGRESS].end(), _clients[fd].curJob)); + auto posIter = std::find(_jobs[IN_PROGRESS].begin(), _jobs[IN_PROGRESS].end(), _clients[fd].curJob); + _jobs[IN_PROGRESS].erase(posIter); _jobs[DONE].push_back(_clients[fd].curJob); _clients[fd].curJob = 0;