guix_mirror_bot pushed a commit to branch master
in repository guix.

commit bb1e80dd7e7ad21af0513ea847681eaa5c949cd3
Author: Christopher Baines <[email protected]>
AuthorDate: Tue Dec 9 14:54:23 2025 +0000

    guix: Cleanup store connection buffering.
    
    This is handled with the builtin port buffer now, and the code to handle it
    separately is unnecessary.
    
    * guix/store.scm (store-connection-output-port, 
store-connection-flush-output)
    (write-buffered-output): Remove procedures.
    (client-stub, add-to-store, add-file-tree-to-store): Remove the buffered 
port.
    
    Change-Id: Ief4e8d6c00fcf65eb0393bf91e86907181620664
---
 guix/store.scm | 54 ++++++++++++++++++++----------------------------------
 1 file changed, 20 insertions(+), 34 deletions(-)

diff --git a/guix/store.scm b/guix/store.scm
index c5a077fca9..3c48e1d110 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -228,9 +228,6 @@
   (major  store-connection-major-version)
   (minor  store-connection-minor-version)
 
-  (buffer store-connection-output-port)                 ;output port
-  (flush  store-connection-flush-output)                ;thunk
-
   ;; Caches.  We keep them per-connection, because store paths build
   ;; during the session are temporary GC roots kept for the duration of
   ;; the session.
@@ -476,9 +473,6 @@ connection.  Use with care."
     (%make-store-connection port
                             (protocol-major version)
                             (protocol-minor version)
-                            port
-                            (lambda ()
-                              (force-output port))
                             (make-hash-table 100)
                             (make-hash-table 100)
                             (make-vector
@@ -496,11 +490,6 @@ connection.  Use with care."
 
 (define-deprecated/alias nix-server-version store-connection-version)
 
-(define (write-buffered-output server)
-  "Flush SERVER's output port."
-  (force-output (store-connection-output-port server))
-  ((store-connection-flush-output server)))
-
 (define (close-connection server)
   "Close the connection to SERVER."
   (close (store-connection-socket server)))
@@ -630,13 +619,12 @@ encoding conversion errors."
                         #'(server #:key arg ...)
                         #'(server arg ...))
            docstring
-           (let* ((s (store-connection-socket server))
-                  (buffered (store-connection-output-port server)))
+           (let* ((s (store-connection-socket server)))
              (record-operation 'name)
-             (write-value integer id buffered)
-             (write-value type arg buffered)
+             (write-value integer id s)
+             (write-value type arg s)
              ...
-             (write-buffered-output server)
+             (force-output s)
 
              ;; Loop until the server is done sending error output.
              (let loop ()
@@ -941,16 +929,15 @@ path."
            ;; We don't use the 'operation' macro so we can pass SELECT? to
            ;; 'write-file'.
            (record-operation 'add-to-store)
-           (let ((port (store-connection-socket server))
-                 (buffered (store-connection-output-port server)))
+           (let ((port (store-connection-socket server)))
              (write-value integer (remote-procedure-id add-to-store)
-                          buffered)
-             (write-value utf8-string basename buffered)
-             (write-value integer 1 buffered)                   ;obsolete, 
must be #t
-             (write-value boolean recursive? buffered)
-             (write-value utf8-string hash-algo buffered)
-             (write-file file-name buffered #:select? select?)
-             (write-buffered-output server)
+                          port)
+             (write-value utf8-string basename port)
+             (write-value integer 1 port)                   ;obsolete, must be 
#t
+             (write-value boolean recursive? port)
+             (write-value utf8-string hash-algo port)
+             (write-file file-name port #:select? select?)
+             (force-output port)
              (let loop ((done? (process-stderr server)))
                (or done? (loop (process-stderr server))))
              (read-value store-path port)))))
@@ -1056,20 +1043,19 @@ an arbitrary directory layout in the store without 
creating a derivation."
         ;; We don't use the 'operation' macro so we can use 'write-file-tree'
         ;; instead of 'write-file'.
         (record-operation 'add-to-store/tree)
-        (let ((port (store-connection-socket server))
-              (buffered (store-connection-output-port server)))
+        (let ((port (store-connection-socket server)))
           (write-value integer (remote-procedure-id add-to-store)
-                       buffered)
-          (write-value utf8-string basename buffered)
-          (write-value integer 1 buffered)                      ;obsolete, 
must be #t
-          (write-value integer (if recursive? 1 0) buffered)
-          (write-value utf8-string hash-algo buffered)
-          (write-file-tree basename buffered
+                       port)
+          (write-value utf8-string basename port)
+          (write-value integer 1 port)  ;obsolete, must be #t
+          (write-value integer (if recursive? 1 0) port)
+          (write-value utf8-string hash-algo port)
+          (write-file-tree basename port
                            #:file-type+size file-type+size
                            #:file-port file-port
                            #:symlink-target symlink-target
                            #:directory-entries directory-entries)
-          (write-buffered-output server)
+          (force-output port)
           (let loop ((done? (process-stderr server)))
             (or done? (loop (process-stderr server))))
           (let ((result (read-value store-path port)))

Reply via email to