fcgi_request *fcgi_init_request(int listen_socket, void(*on_accept)(), void(*on_read)(), void(*on_close)()) { fcgi_request *req = calloc(1, sizeof(fcgi_request)); req->listen_socket = listen_socket; req->fd = -1; req->id = -1; /* req->in_len = 0; req->in_pad = 0; req->out_hdr = NULL; #ifdef TCP_NODELAY req->nodelay = 0; #endif req->env = NULL; req->has_env = 0; */ req->out_pos = req->out_buf; req->hook.on_accept = on_accept ? on_accept : fcgi_hook_dummy; req->hook.on_read = on_read ? on_read : fcgi_hook_dummy; req->hook.on_close = on_close ? on_close : fcgi_hook_dummy; #ifdef _WIN32 req->tcp = !GetNamedPipeInfo((HANDLE)_get_osfhandle(req->listen_socket), NULL, NULL, NULL, NULL); #endif fcgi_hash_init(&req->env); return req; }
fcgi_request *fcgi_init_request(int listen_socket) { fcgi_request *req = (fcgi_request*)calloc(1, sizeof(fcgi_request)); req->listen_socket = listen_socket; req->fd = -1; req->id = -1; req->in_len = 0; req->in_pad = 0; req->out_hdr = NULL; req->out_pos = req->out_buf; #ifdef _WIN32 req->tcp = !GetNamedPipeInfo((HANDLE)_get_osfhandle(req->listen_socket), NULL, NULL, NULL, NULL); #endif #ifdef TCP_NODELAY req->nodelay = 0; #endif fcgi_hash_init(&req->env); return req; }
fcgi_request *fcgi_init_request(fcgi_request *req, int listen_socket) { memset(req, 0, sizeof(fcgi_request)); req->listen_socket = listen_socket; req->fd = -1; req->id = -1; /* req->in_len = 0; req->in_pad = 0; req->out_hdr = NULL; #ifdef TCP_NODELAY req->nodelay = 0; #endif req->env = NULL; req->has_env = 0; */ req->out_pos = req->out_buf; req->hook.on_accept = fcgi_hook_dummy; req->hook.on_read = fcgi_hook_dummy; req->hook.on_close = fcgi_hook_dummy; #ifdef _WIN32 req->tcp = !GetNamedPipeInfo((HANDLE)_get_osfhandle(req->listen_socket), NULL, NULL, NULL, NULL); #endif fcgi_hash_init(&req->env); return req; }