Debug in progress, somes fix but not the main problem
This commit is contained in:
@@ -14,6 +14,7 @@ void Webserv::_close_client(int fd)
|
||||
if (::close(fd) == -1)
|
||||
std::perror("err close()");
|
||||
_close_client_cgi_pipes(&(*it));
|
||||
// it->clear(); // PISTE, debug normalement superflu
|
||||
_clients.erase(it);
|
||||
break;
|
||||
}
|
||||
@@ -24,23 +25,38 @@ void Webserv::_close_client(int fd)
|
||||
void Webserv::_close_client_cgi_pipes(Client *client)
|
||||
{
|
||||
if (client->cgi_state)
|
||||
{
|
||||
{ // No need to reset the fd to -1 normaly
|
||||
std::cerr << "close cgi-pipes" << "\n";
|
||||
if (::close(client->cgi_pipe_w_to_child) == -1)
|
||||
std::perror("err close()");
|
||||
// client->cgi_pipe_w_to_child = -1;
|
||||
|
||||
if (::close(client->cgi_pipe_r_from_child) == -1)
|
||||
std::perror("err close()");
|
||||
// client->cgi_pipe_r_from_child = -1;
|
||||
|
||||
if (::close(client->cgi_pipe_w_to_parent) == -1)
|
||||
std::perror("err close()");
|
||||
// client->cgi_pipe_w_to_parent = -1;
|
||||
|
||||
if (::close(client->cgi_pipe_r_from_parent) == -1)
|
||||
std::perror("err close()");
|
||||
// client->cgi_pipe_r_from_parent = -1;
|
||||
}
|
||||
}
|
||||
|
||||
void Webserv::_close_all_clients()
|
||||
{
|
||||
_close_all_clients_fd();
|
||||
|
||||
_clients.clear();
|
||||
// REMPLACEMENT ->
|
||||
/* while (!_clients.empty())
|
||||
{
|
||||
std::cerr << "_clients.pop_back() " << &_clients.back() << "\n";
|
||||
_clients.back().clear();
|
||||
_clients.pop_back();
|
||||
} */
|
||||
}
|
||||
|
||||
void Webserv::_close_all_clients_fd()
|
||||
|
||||
Reference in New Issue
Block a user