summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeert Hauwaerts <geert@hauwaerts.be>2015-10-02 09:33:03 -0700
committerGeert Hauwaerts <geert@hauwaerts.be>2015-10-02 09:33:03 -0700
commitbd696a096ee782c3662a0bd81e0939357fdfb447 (patch)
treed7a2a54a9ebde25a57c205631b76e584c25a166a
parentc3e466487044b38923efce58f9db3a6d0b6d6fee (diff)
parentdb5ae4adce6ad82150a4fef01c8b141631f89d96 (diff)
downloadirssi-bd696a096ee782c3662a0bd81e0939357fdfb447.zip
Merge pull request #319 from LemonBoy/awaylog-flush
Flush the dirty buffer to disk
-rw-r--r--src/core/log-away.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/log-away.c b/src/core/log-away.c
index 681edcbf..c6de721c 100644
--- a/src/core/log-away.c
+++ b/src/core/log-away.c
@@ -62,6 +62,9 @@ static void awaylog_open(void)
return;
}
+ /* Flush the dirty buffers to disk before acquiring the file position */
+ write_buffer_flush();
+
awaylog = log;
away_filepos = lseek(log->handle, 0, SEEK_CUR);
away_msgs = 0;
@@ -83,6 +86,9 @@ static void awaylog_close(void)
if (awaylog == log) awaylog = NULL;
+ /* Flush the dirty buffers to disk before showing the away log */
+ write_buffer_flush();
+
signal_emit("awaylog show", 3, log, GINT_TO_POINTER(away_msgs),
GINT_TO_POINTER(away_filepos));
log_close(log);