diff -r 66b0accda0a8 -r b036ccad4b49 src/server/daemon/config.c --- a/src/server/daemon/config.c Sat Aug 24 18:34:13 2024 +0200 +++ b/src/server/daemon/config.c Sat Aug 24 22:37:12 2024 +0200 @@ -59,7 +59,11 @@ #include "../util/atomic.h" #include "cx/buffer.h" -pool_handle_t *init_pool; +static pool_handle_t *init_pool; + +pool_handle_t* cfg_get_init_pool(void) { + return init_pool; +} char* cfg_config_file_path(const char *file) { cxstring base = CX_STR("config/"); @@ -694,13 +698,18 @@ // TODO: check if all important configs are set + int ret = 0; HttpListener *listener = http_listener_create(&lc); - if(!listener) { - return 1; + if(listener) { + listener->default_vs.vs_name = cx_strdup_a(cfg->a, (cxstring){lc.vs.ptr, lc.vs.length}).ptr; + cxListAdd(cfg->listeners, listener); + } else { + ret = 1; } - listener->default_vs.vs_name = cx_strdup_a(cfg->a, (cxstring){lc.vs.ptr, lc.vs.length}).ptr; - cxListAdd(cfg->listeners, listener); + free(lc.name.ptr); + free(lc.vs.ptr); + free(lc.threadpool.ptr); return 0; }