about summary refs log tree commit diff
path: root/src/libstore/local-store.hh
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2013-06-07T12·00+0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2013-06-07T12·00+0200
commitc5f9d0d08058bca4af0d22e8d46a7d84627c0aae (patch)
tree2568171b20f7ba9a11da750747fa2c93251aa725 /src/libstore/local-store.hh
parent75e12b8e666aa0b689f6b654d37c84be912ff6d4 (diff)
Buffer reads from the substituter
This greatly reduces the number of system calls.
Diffstat (limited to '')
-rw-r--r--src/libstore/local-store.hh5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/libstore/local-store.hh b/src/libstore/local-store.hh
index 14a826b3a5..4245156670 100644
--- a/src/libstore/local-store.hh
+++ b/src/libstore/local-store.hh
@@ -46,6 +46,7 @@ struct RunningSubstituter
 {
     Pid pid;
     AutoCloseFD to, from, error;
+    FdSource fromBuf;
 };
 
 
@@ -289,6 +290,10 @@ private:
     void startSubstituter(const Path & substituter,
         RunningSubstituter & runningSubstituter);
 
+    string getLineFromSubstituter(RunningSubstituter & run);
+
+    template<class T> T getIntLineFromSubstituter(RunningSubstituter & run);
+
     Path createTempDirInStore();
 
     Path importPath(bool requireSignature, Source & source);