diff --git a/VERSION21.cmake b/VERSION21.cmake index 41a573525..361a61bcc 100644 --- a/VERSION21.cmake +++ b/VERSION21.cmake @@ -5,7 +5,7 @@ set(MAXSCALE_VERSION_MAJOR "2" CACHE STRING "Major version") set(MAXSCALE_VERSION_MINOR "1" CACHE STRING "Minor version") -set(MAXSCALE_VERSION_PATCH "8" CACHE STRING "Patch version") +set(MAXSCALE_VERSION_PATCH "9" CACHE STRING "Patch version") # This should only be incremented if a package is rebuilt set(MAXSCALE_BUILD_NUMBER 1 CACHE STRING "Release number") diff --git a/server/core/gateway.cc b/server/core/gateway.cc index afa547856..6ba816046 100644 --- a/server/core/gateway.cc +++ b/server/core/gateway.cc @@ -1278,6 +1278,7 @@ int main(int argc, char **argv) void (*exitfunp[4])(void) = { mxs_log_finish, cleanup_process_datadir, write_footer, NULL }; MXS_CONFIG* cnf = NULL; int numlocks = 0; + bool pid_file_created = false; Worker* worker; *syslog_enabled = 1; @@ -1895,6 +1896,8 @@ int main(int argc, char **argv) rc = MAXSCALE_ALREADYRUNNING; goto return_main; } + + pid_file_created = true; } if (!redirect_output_to.empty()) @@ -2124,18 +2127,21 @@ int main(int argc, char **argv) utils_end(); cleanup_process_datadir(); MXS_NOTICE("MaxScale shutdown completed."); + if (unload_modules_at_exit) { unload_all_modules(); } - /* Remove Pidfile */ - unlock_pidfile(); - unlink_pidfile(); ERR_free_strings(); EVP_cleanup(); return_main: + if (pid_file_created) + { + unlock_pidfile(); + unlink_pidfile(); + } mxs_log_flush_sync();