src/server/daemon/webserver.c

changeset 556
b036ccad4b49
parent 461
9b20b8f3582b
--- 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;
 }

mercurial