From f357d35ddb1302f5583cad58f07aceda7dccb3cb Mon Sep 17 00:00:00 2001 From: Art Cancro Date: Sat, 22 Jul 2023 07:24:05 -0900 Subject: [PATCH] Aggressively sync --- citadel/server/database.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/citadel/server/database.c b/citadel/server/database.c index 2085dc729..cb5adafca 100644 --- a/citadel/server/database.c +++ b/citadel/server/database.c @@ -296,6 +296,12 @@ void close_databases(void) { int i; int ret; + static int closing = 0; + while (closing == 1) { + syslog(LOG_INFO, "db: already closing"); + } + closing = 1; + syslog(LOG_INFO, "db: performing final checkpoint"); if ((ret = dbenv->txn_checkpoint(dbenv, 0, 0, 0))) { syslog(LOG_ERR, "db: txn_checkpoint: %s", db_strerror(ret)); @@ -314,16 +320,10 @@ void close_databases(void) { if (ret) { syslog(LOG_ERR, "db: db_close: %s", db_strerror(ret)); } - } - // This seemed nifty at the time but did anyone really look at it? - // #ifdef DB_STAT_ALL - // dbenv->lock_stat_print(dbenv, DB_STAT_ALL); - // #endif - // Close the handle. - ret = dbenv->close(dbenv, 0); + ret = dbenv->close(dbenv, DB_FORCESYNC); if (ret) { syslog(LOG_ERR, "db: DBENV->close: %s", db_strerror(ret)); } -- 2.39.2