diff -r 069c152f6272 -r 5bc6d078fb2c src/server/daemon/httplistener.c --- a/src/server/daemon/httplistener.c Fri Jun 21 12:10:44 2013 +0200 +++ b/src/server/daemon/httplistener.c Sun Jun 23 13:49:17 2013 +0200 @@ -89,6 +89,7 @@ newls->default_vs.vs_name = conf->vs.ptr; newls->port = fl->port; newls->server_socket = fl->server_socket; + newls->running = 1; newls->ref = 2; // 1 reference is fl->next newls->session_handler = fl->session_handler; // TODO @@ -139,6 +140,7 @@ // end remove HttpListener *listener = malloc(sizeof(HttpListener)); + listener->running = 0; listener->cfg = conf->cfg; listener->name = conf->name; listener->default_vs.vs_name = conf->vs.ptr; @@ -194,6 +196,9 @@ } int http_listener_start(HttpListener *listener) { + if(listener->running) { + return 0; + } printf("INFO: start listener\n"); log_ereport(LOG_INFORM, "start listener on port %d", listener->port);