From 701401f559006a0f2835e2d363e6e7ca2aa0f737 Mon Sep 17 00:00:00 2001 From: adjoly Date: Tue, 22 Apr 2025 15:41:35 +0200 Subject: [PATCH] =?UTF-8?q?=E3=80=8C=E2=9C=A8=E3=80=8D=20feat:=20added=20c?= =?UTF-8?q?trl=20c=20handling?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config/Config.cpp | 3 ++- src/config/Server.cpp | 4 ++-- src/main.cpp | 7 ++++++- src/server/Server.cpp | 13 +++++++++++-- 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/src/config/Config.cpp b/src/config/Config.cpp index 20bc8e3..02513d1 100644 --- a/src/config/Config.cpp +++ b/src/config/Config.cpp @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/14 12:53:54 by adjoly #+# #+# */ -/* Updated: 2025/04/22 15:32:19 by adjoly ### ########.fr */ +/* Updated: 2025/04/22 15:35:52 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -35,6 +35,7 @@ Config::Config(std::string &filename) { std::map *node = table->getTable(); for (auto it = prange(node)) { if (it->second->type() == toml::TABLE) { + _log->info("taking server from table : " + it->first); Server *srv = new Server(it->second); _servers.push_back(srv); } diff --git a/src/config/Server.cpp b/src/config/Server.cpp index 85ba913..1e49c05 100644 --- a/src/config/Server.cpp +++ b/src/config/Server.cpp @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/03/24 15:10:07 by adjoly #+# #+# */ -/* Updated: 2025/04/22 15:25:06 by adjoly ### ########.fr */ +/* Updated: 2025/04/22 15:36:30 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -79,7 +79,7 @@ Server::Server(toml::ANode *node) : _table(node) { (*_routes)[URL(it->first)] = new Route(it->second); } } - delete _table; + //delete _table; } Server::~Server(void) { diff --git a/src/main.cpp b/src/main.cpp index bc65aab..f74c3ec 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -6,7 +6,7 @@ /* By: mmoussou #include #include +#include #include #include #include @@ -31,6 +32,10 @@ int _sig = 0; void ft_sig(int sig) { _sig = sig; + std::stringstream str; + str << "sig hitted = "; + str << sig; + _log->info(str.str()); } int main(int ac, char **av) { diff --git a/src/server/Server.cpp b/src/server/Server.cpp index 1ca2443..2484109 100644 --- a/src/server/Server.cpp +++ b/src/server/Server.cpp @@ -6,7 +6,7 @@ /* By: adjoly +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/11 16:11:40 by adjoly #+# #+# */ -/* Updated: 2025/04/22 10:51:15 by adjoly ### ########.fr */ +/* Updated: 2025/04/22 15:40:59 by adjoly ### ########.fr */ /* */ /* ************************************************************************** */ @@ -28,6 +28,8 @@ using namespace webserv; +extern int _sig; + std::string convertIPToString(const struct in_addr *addr) { unsigned int ip = ntohl(addr->s_addr); std::stringstream ss; @@ -77,6 +79,13 @@ void Server::_setup(void) { } } +short sigHandling(void) { + if (_sig == SIGINT) { + return 727; + } + return 0; +} + void Server::_run(void) { struct pollfd fd; @@ -89,7 +98,7 @@ void Server::_run(void) { } // to add signal instead of 727 - while (727) { + while (727 - sigHandling()) { if (poll(_client_fds.data(), _client_fds.size(), -1) < 0) { std::stringstream str; str << "poll failed : ";