48 lines
1.1 KiB
C++
48 lines
1.1 KiB
C++
|
|
#include "Webserv.hpp"
|
|
|
|
void Webserv::_close_client(int fd)
|
|
{
|
|
std::vector<Client>::iterator it = _clients.begin();
|
|
while (it != _clients.end())
|
|
{
|
|
if (*it == fd)
|
|
{
|
|
// _epoll_update(fd, 0, EPOLL_CTL_DEL); // normalement superflu, DEBUG
|
|
if (::close(fd) == -1)
|
|
std::perror("err close()");
|
|
else
|
|
std::cerr << "close fd " << fd << "\n";
|
|
_clients.erase(it);
|
|
break;
|
|
}
|
|
++it;
|
|
}
|
|
}
|
|
|
|
void Webserv::_close_all_clients()
|
|
{
|
|
while (!_clients.empty())
|
|
{
|
|
// _epoll_update(_clients.back().fd, 0, EPOLL_CTL_DEL); // normalement superflu, DEBUG
|
|
if (::close(_clients.back().get_cl_fd()) == -1)
|
|
std::perror("err close()");
|
|
else
|
|
std::cerr << "close fd " << _clients.back().get_cl_fd() << "\n";
|
|
_clients.pop_back();
|
|
}
|
|
}
|
|
|
|
void Webserv::_close_all_listen_sockets()
|
|
{
|
|
while (!_listen_sockets.empty())
|
|
{
|
|
// _epoll_update(_listen_sockets.back().fd, 0, EPOLL_CTL_DEL); // normalement superflu, DEBUG
|
|
if (::close(_listen_sockets.back().fd) == -1)
|
|
std::perror("err close()");
|
|
else
|
|
std::cerr << "close fd " << _listen_sockets.back().fd << "\n";
|
|
_listen_sockets.pop_back();
|
|
}
|
|
}
|