civodul pushed a commit to branch main
in repository shepherd.
commit fcc4d1564fa4acc93237f5f873e6abcda74b7faa
Author: Ludovic Courtès <[email protected]>
AuthorDate: Sun Apr 13 22:15:59 2025 +0200
logger: Add buffering on the input.
Previously, service output would be read byte by byte (d’oh!).
* modules/shepherd/logger.scm (line-reader): Add call to ‘setvbuf’.
---
modules/shepherd/logger.scm | 1 +
1 file changed, 1 insertion(+)
diff --git a/modules/shepherd/logger.scm b/modules/shepherd/logger.scm
index 40762df..71e2a4d 100644
--- a/modules/shepherd/logger.scm
+++ b/modules/shepherd/logger.scm
@@ -82,6 +82,7 @@ on @var{channel}."
(define line
(make-string %logging-buffer-size))
+ (setvbuf port 'block (* 2 %logging-buffer-size))
(let loop ()
(match (read-line! line port)
((? eof-object? eof)