body write to CGI now monitored by epoll
+ kermit.jpg :)
This commit is contained in:
@@ -105,11 +105,12 @@ class Webserv
|
||||
void _handle_last_signal();
|
||||
// close.cpp
|
||||
void _close_client(int fd);
|
||||
void _close_client_cgi_pipes(Client *client);
|
||||
void _close_all_clients();
|
||||
void _close_all_clients_fd();
|
||||
void _close_all_clients_cgi_fd();
|
||||
void _close_cgi_pipe_rfd(int fd);
|
||||
void _close_all_cgi_pipe_rfd();
|
||||
void _close_all_clients_cgi_pipes();
|
||||
void _close_cgi_pipe_r_from_child(int fd);
|
||||
void _close_all_cgi_pipe_r_from_child();
|
||||
void _close_all_listen_sockets();
|
||||
void _reopen_lsocket(std::vector<listen_socket>::iterator it);
|
||||
void _handle_epoll_error_lsocket(uint32_t events, std::vector<listen_socket>::iterator it);
|
||||
@@ -124,6 +125,7 @@ class Webserv
|
||||
// cgi.cpp
|
||||
bool _is_cgi(Client *client, std::string path);
|
||||
size_t _cgi_pos(Client *client, std::string &path, size_t pos);
|
||||
void _cgi_open_pipes(Client *client);
|
||||
void _exec_cgi(Client *client);
|
||||
void _set_env_vector(Client *client, std::vector<std::string> &env_vector);
|
||||
void _set_env_cstr(char *env_cstr[], std::vector<std::string> &env_vector);
|
||||
@@ -136,11 +138,14 @@ class Webserv
|
||||
void _check_fields_duplicates(Client *client, std::string & output);
|
||||
void _add_script_body_length_header(std::string & output);
|
||||
void _remove_body_leading_empty_lines(std::string & output);
|
||||
|
||||
Client *_find_cgi_fd(int cgi_fd);
|
||||
void _read_cgi_output(Client *client);
|
||||
void _handle_epoll_error_cgi_fd(uint32_t events, Client *client);
|
||||
void _cgi_epollhup(uint32_t events, Client *client);
|
||||
// cgi_epoll.cpp
|
||||
void _read_cgi_output(Client *client);
|
||||
void _handle_epollerr_cgi_output(uint32_t events, Client *client);
|
||||
void _handle_epollhup_cgi_output(uint32_t events, Client *client);
|
||||
void _cgi_input_ready(Client *client);
|
||||
void _handle_epollerr_cgi_input(uint32_t events, Client *client);
|
||||
Client *_find_cgi_output_fd(int fd);
|
||||
Client *_find_cgi_input_fd(int fd);
|
||||
|
||||
|
||||
///////////////////////
|
||||
|
||||
Reference in New Issue
Block a user