src/server/daemon/sessionhandler.c

changeset 558
0e79e17c70e2
parent 557
e35829a3a6d8
equal deleted inserted replaced
557:e35829a3a6d8 558:0e79e17c70e2
98 log_ereport(LOG_VERBOSE, "connection close: EINTR"); 98 log_ereport(LOG_VERBOSE, "connection close: EINTR");
99 } 99 }
100 } 100 }
101 101
102 void connection_destroy(Connection *conn) { 102 void connection_destroy(Connection *conn) {
103 log_ereport(LOG_DEBUG, "trace reqid: %016llx connection_destroy", (unsigned long long int)conn->id);
103 cfg_unref(conn->listener->cfg); 104 cfg_unref(conn->listener->cfg);
104 conn->close(conn); 105 conn->close(conn);
105 if(conn->ssl) { 106 if(conn->ssl) {
106 SSL_free(conn->ssl); 107 SSL_free(conn->ssl);
107 } 108 }
228 item->intdata = 0; 229 item->intdata = 0;
229 230
230 EventHttpIO *io = item->data1; 231 EventHttpIO *io = item->data1;
231 io->error = 4; 232 io->error = 4;
232 233
234 log_ereport(LOG_DEBUG, "trace reqid: %016llx request timeout", (unsigned long long int)io->request->connection->id);
235
233 if(ev_remove_poll(h, io->request->connection->fd)) { 236 if(ev_remove_poll(h, io->request->connection->fd)) {
234 log_ereport(LOG_FAILURE, "sessionhandler: request timeout: cannot remove poll"); 237 log_ereport(LOG_FAILURE, "sessionhandler: request timeout: cannot remove poll");
235 } 238 }
236 evt_request_error(h, io->io_event); 239 evt_request_error(h, io->io_event);
237 } 240 }
550 int evt_request_error(EventHandler *h, Event *event) { 553 int evt_request_error(EventHandler *h, Event *event) {
551 EventHttpIO *io = event->cookie; 554 EventHttpIO *io = event->cookie;
552 HttpParser *parser = io->parser; 555 HttpParser *parser = io->parser;
553 HTTPRequest *request = io->request; 556 HTTPRequest *request = io->request;
554 557
558 log_ereport(LOG_DEBUG, "trace reqid: %016llx request error", (unsigned long long int)request->connection->id);
559
555 if(event->error) { 560 if(event->error) {
556 log_ereport(LOG_VERBOSE, "sessionhandler http io error: %d fd: %d", io->error, request->connection->fd); 561 log_ereport(LOG_VERBOSE, "sessionhandler http io error: %d fd: %d", io->error, request->connection->fd);
557 } 562 }
558 563
559 // remove timeout 564 // remove timeout
673 678
674 if(ev_remove_poll(h, conn->fd)) { 679 if(ev_remove_poll(h, conn->fd)) {
675 log_ereport(LOG_FAILURE, "sessionhandler: keep-alive timeout: cannot remove poll"); 680 log_ereport(LOG_FAILURE, "sessionhandler: keep-alive timeout: cannot remove poll");
676 } 681 }
677 682
678 log_ereport(LOG_DEBUG, "trace reqid: %016llx connection destroyed | keep_alive timeout", (unsigned long long int)conn->id); 683 log_ereport(LOG_DEBUG, "trace reqid: %016llx keep_alive timeout", (unsigned long long int)conn->id);
679 connection_destroy(conn); 684 connection_destroy(conn);
680 free(ioevent); 685 free(ioevent);
681 free(item); 686 free(item);
682 } 687 }

mercurial