about summary refs log tree commit diff
path: root/src/libstore
diff options
context:
space:
mode:
authorShea Levy <shea@shealevy.com>2014-02-07T21·56-0500
committerShea Levy <shea@shealevy.com>2014-02-08T05·13-0500
commit5671188eb2822b7392a6affa5ebe2f1eb8f521a0 (patch)
tree4490a274361e36a7971caf3275bb76c60f72fe05 /src/libstore
parent73874629ef59dc3b237a2c316179e722f971bb5e (diff)
nix-store --serve: Flush out after every loop
Signed-off-by: Shea Levy <shea@shealevy.com>
Diffstat (limited to 'src/libstore')
-rw-r--r--src/libstore/store-api.cc3
-rw-r--r--src/libstore/store-api.hh2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/libstore/store-api.cc b/src/libstore/store-api.cc
index bd95590756de..e4f180240992 100644
--- a/src/libstore/store-api.cc
+++ b/src/libstore/store-api.cc
@@ -259,7 +259,7 @@ string StoreAPI::makeValidityRegistration(const PathSet & paths,
 }
 
 
-void StoreAPI::serve(Source & in, Sink & out)
+void StoreAPI::serve(Source & in, BufferedSink & out)
 {
     string cmd = readString(in);
     if (cmd == "query") {
@@ -283,6 +283,7 @@ void StoreAPI::serve(Source & in, Sink & out)
                 writeString("", out);
             } else
                 throw Error(format("Unknown serve query `%1%'") % cmd);
+            out.flush();
         }
     } else if (cmd == "substitute")
         dumpPath(readString(in), out);
diff --git a/src/libstore/store-api.hh b/src/libstore/store-api.hh
index edab6ea5a2d9..f32824a3bb7c 100644
--- a/src/libstore/store-api.hh
+++ b/src/libstore/store-api.hh
@@ -251,7 +251,7 @@ public:
 
     /* Serve the store for ssh substituters by taking commands
      * from in and printing results to out */
-    void serve(Source & in, Sink & out);
+    void serve(Source & in, BufferedSink & out);
 };