diff -r 3578977d29a3 -r f48cea237ec3 src/server/daemon/sessionhandler.c --- a/src/server/daemon/sessionhandler.c Tue Jun 25 22:18:59 2013 +0200 +++ b/src/server/daemon/sessionhandler.c Wed Jun 26 15:09:54 2013 +0200 @@ -37,6 +37,7 @@ #include "httpparser.h" #include "log.h" #include "error.h" +#include "httplistener.h" typedef struct _event_http_io { HTTPRequest *request; @@ -185,7 +186,7 @@ } } -int evt_request_input(event_handler_t *handler, event_t *event) { +int evt_request_input(event_handler_t *handler, event_t *event) { EventHttpIO *io = event->cookie; HttpParser *parser = io->parser; HTTPRequest *request = io->request; @@ -241,7 +242,7 @@ return 0; } -int evt_request_finish(event_handler_t *h, event_t *event) { +int evt_request_finish(event_handler_t *h, event_t *event) { EventHttpIO *io = event->cookie; HttpParser *parser = io->parser; HTTPRequest *request = io->request; @@ -275,6 +276,7 @@ HTTPRequest *request = io->request; close(request->connection->fd); + cfg_unref(request->connection->listener->cfg); header_array_free(request->headers); free(request);