Blame SOURCES/rsyslog-8.2102.0-rhbz1960536-fdleak-on-fsync.patch

d7f789
diff -up rsyslog-8.2102.0/plugins/imjournal/imjournal.c.orig rsyslog-8.2102.0/plugins/imjournal/imjournal.c
d7f789
--- rsyslog-8.2102.0/plugins/imjournal/imjournal.c.orig	2021-06-15 12:30:35.238832058 +0200
d7f789
+++ rsyslog-8.2102.0/plugins/imjournal/imjournal.c	2021-06-15 12:32:04.699721356 +0200
d7f789
@@ -565,6 +565,8 @@ persistJournalState(void)
d7f789
 		ABORT_FINALIZE(RS_RET_IO_ERROR);
d7f789
 	}
d7f789
 
d7f789
+	fflush(sf);
d7f789
+
d7f789
 	/* change the name of the file to the configured one */
d7f789
 	if (rename(tmp_sf, cs.stateFile) < 0) {
d7f789
 		LogError(errno, iRet, "imjournal: rename() failed for new path: '%s'", cs.stateFile);
d7f789
@@ -586,6 +588,7 @@ persistJournalState(void)
d7f789
 			LogError(errno, RS_RET_IO_ERROR, "imjournal: fsync on '%s' failed", glbl.GetWorkDir());
d7f789
 			ABORT_FINALIZE(RS_RET_IO_ERROR);
d7f789
 		}
d7f789
+		closedir(wd);
d7f789
 	}
d7f789
 
d7f789
 	DBGPRINTF("Persisted journal to '%s'\n", cs.stateFile);