🔨」 fix(Server): fixed main loop

This commit is contained in:
y-syo
2025-05-02 13:42:24 +02:00
parent 86896945f9
commit 2352a865bf
3 changed files with 71 additions and 27 deletions

View File

@ -6,7 +6,7 @@
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/11 16:11:40 by adjoly #+# #+# */
/* Updated: 2025/05/01 12:52:46 by adjoly ### ########.fr */
/* Updated: 2025/05/02 13:30:50 by mmoussou ### ########.fr */
/* */
/* ************************************************************************** */
@ -187,21 +187,25 @@ void Server::_run(void) {
_log->error("client does not exist");
continue;
}
if (client->requestParsed() == true) {
if (client->requestParsed() == true && !client->isReadyToClose()) {
client->answer();
continue;
}
_client_data.erase(std::find(_client_data.begin(),
if (client->isReadyToClose()) {
_client_data.erase(std::find(_client_data.begin(),
_client_data.end(), client));
delete client;
for (auto it = range(_client_fds)) {
if (_client_fds[i].fd == (*it).fd) {
_log->debug("client fds erased");
close(it.base()->fd);
_client_fds.erase(it);
break;
delete client;
for (auto it = range(_client_fds)) {
if (_client_fds[i].fd == (*it).fd) {
_log->debug("client fds erased");
close(it.base()->fd);
_client_fds.erase(it);
break;
}
}
i--;
}
i--;
}
}
}