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)

Reply via email to