From 5b18f84e4d898e9348d3ff0490d2f47ee5cd7b24 Mon Sep 17 00:00:00 2001 From: onefang Date: Sat, 25 Apr 2020 05:14:17 +1000 Subject: Clean up cleanup(). --- src/sledjchisl/sledjchisl.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/sledjchisl/sledjchisl.c b/src/sledjchisl/sledjchisl.c index e30cb47..d6c7730 100644 --- a/src/sledjchisl/sledjchisl.c +++ b/src/sledjchisl/sledjchisl.c @@ -5702,7 +5702,8 @@ void account_html(char *file, reqData *Rd, HTMLfile *thisFile) static void cleanup(void) { - C("Caught signal, cleaning up."); +// TODO - not sure why, but this gets called twice on quitting. + C("Caught signal, or quitting, cleaning up."); dbRequest *req = NULL; while (NULL != (req = (dbRequest *) dbRequests->getat(dbRequests, 0, NULL, false))) @@ -5736,11 +5737,13 @@ static void cleanup(void) } accountPages->unlock(accountPages); accountPages->free(accountPages); + accountPages = NULL; } // if (fieldValidFuncs) fieldValidFuncs->free(fieldValidFuncs); // if (buildPages) buildPages->free(buildPages); if (dynPages) dynPages->free(dynPages); + dynPages = NULL; if (HTMLfileCache) { qhashtbl_obj_t obj; @@ -5757,14 +5760,18 @@ static void cleanup(void) HTMLfileCache->free(HTMLfileCache); } if (mimeTypes) mimeTypes->free(mimeTypes); + mimeTypes = NULL; if (dbRequests) dbRequests->free(dbRequests); + dbRequests = NULL; if (database) mysql_close(database); + database = NULL; mysql_library_end(); lua_close(L); if (stats) { if (stats->stats) stats->stats->free(stats->stats); free(stats); + stats = NULL; } if (configs) configs->free(configs); } -- cgit v1.1