diff -r 66b0accda0a8 -r b036ccad4b49 src/server/daemon/webserver.c --- a/src/server/daemon/webserver.c Sat Aug 24 18:34:13 2024 +0200 +++ b/src/server/daemon/webserver.c Sat Aug 24 22:37:12 2024 +0200 @@ -248,6 +248,7 @@ return -1; } } + free(tmp_priv.ptr); // create srvctrl unix domain socket @@ -279,13 +280,21 @@ log_ereport(LOG_INFORM, "webserver shutdown"); srvctrl_shutdown(); - +} + +void webserver_end() { // execute restart callbacks RestartCallback *re = atrestart; while(re) { re->func(re->data); re = re->next; } + + shutdown_threadpools(); + + shutdown_eventhandlers_wait(); + + webserver_destroy(); } int webserver_reconfig() { @@ -326,6 +335,14 @@ } } +void webserver_destroy() { + // free some stuff + // this is not necessary, because the whole process will exit + // however it will result in a nicer valgrind output with less + // memory leaks + pool_destroy(cfg_get_init_pool()); +} + int nsapi_runtime_version() { return 303; }