summaryrefslogtreecommitdiff
path: root/logsrvd/logsrvd.c
diff options
context:
space:
mode:
authorTodd C. Miller <Todd.Miller@sudo.ws>2021-10-16 07:58:44 -0600
committerTodd C. Miller <Todd.Miller@sudo.ws>2021-10-16 07:58:44 -0600
commitee6c9a47219a6618e71e25c36c1fd398253204c1 (patch)
tree496bf3b7e5967251b446f97e5735c778ac67f8d4 /logsrvd/logsrvd.c
parent641cbbb35b9e36a9275ae90b824e72e99a566ebc (diff)
downloadsudo-ee6c9a47219a6618e71e25c36c1fd398253204c1.tar.gz
No need to flush logs before commit point if we flush after each write.
Also document that logs are flushed before sending a commit point even when flushing is disabled.
Diffstat (limited to 'logsrvd/logsrvd.c')
-rw-r--r--logsrvd/logsrvd.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/logsrvd/logsrvd.c b/logsrvd/logsrvd.c
index 6bcc708f4..c804825c5 100644
--- a/logsrvd/logsrvd.c
+++ b/logsrvd/logsrvd.c
@@ -1164,7 +1164,10 @@ server_commit_cb(int unused, int what, void *v)
commit_point.tv_nsec = closure->elapsed_time.tv_nsec;
if (!schedule_commit_point(&commit_point, closure))
connection_close(closure);
- iolog_flush_all(closure);
+
+ /* Flush I/O logs before sending commit point if needed. */
+ if (!iolog_get_flush())
+ iolog_flush_all(closure);
debug_return;
}