summaryrefslogtreecommitdiffstats
path: root/src/zabbix_server/server.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/zabbix_server/server.c')
-rw-r--r--src/zabbix_server/server.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/src/zabbix_server/server.c b/src/zabbix_server/server.c
index 63d4a976..1bef1ccd 100644
--- a/src/zabbix_server/server.c
+++ b/src/zabbix_server/server.c
@@ -675,8 +675,9 @@ int MAIN_ZABBIX_ENTRY(void)
DBclose();
/* To make sure that we can connect to the database before forking new processes */
- DBconnect(ZBX_DB_CONNECT_EXIT);
- DBclose();
+/* DBconnect(ZBX_DB_CONNECT_EXIT);*/
+/* Do not close database. It is required for database cache */
+/* DBclose();*/
/*#define CALC_TREND*/
@@ -862,18 +863,22 @@ void zbx_on_exit()
free_metrics();
zbx_sleep(2); /* wait for all threads closing */
+
+ DBconnect(ZBX_DB_CONNECT_EXIT);
- zabbix_log(LOG_LEVEL_INFORMATION, "ZABBIX Server stopped");
if(CONFIG_DBSYNCER_FORKS!=0)
{
free_database_cache();
}
+ DBclose();
zabbix_close_log();
#ifdef HAVE_SQLITE3
php_sem_remove(&sqlite_access);
#endif /* HAVE_SQLITE3 */
+ zabbix_log(LOG_LEVEL_INFORMATION, "ZABBIX Server stopped");
+
exit(SUCCEED);
}