changeset 5326:ce2922c1b6dc draft

logerr: buffer stderr as we now have many processes
author Roy Marples <roy@marples.name>
date Tue, 09 Jun 2020 17:49:51 +0100
parents 896eb853623a
children 1e2041e4dfe7
files src/logerr.c
diffstat 1 files changed, 4 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/logerr.c	Tue Jun 09 17:48:59 2020 +0100
+++ b/src/logerr.c	Tue Jun 09 17:49:51 2020 +0100
@@ -50,6 +50,7 @@
 #define UNUSED(a)		(void)(a)
 
 struct logctx {
+	char		 log_buf[BUFSIZ];
 	unsigned int	 log_opts;
 #ifndef SMALL
 	FILE		*log_file;
@@ -369,6 +370,9 @@
 	/* Cache timezone */
 	tzset();
 
+	if (setvbuf(stderr, ctx->log_buf, _IOLBF, sizeof(ctx->log_buf)) == -1)
+		fprintf(stderr, "%s: %s\n", __func__, strerror(errno));
+
 	if (path == NULL) {
 		int opts = 0;