diff options
author | David Powell <djpowell@djpowell.net> | 2010-07-13 23:43:20 +0100 |
---|---|---|
committer | Stuart Halloway <stu@thinkrelevance.com> | 2010-07-27 16:50:35 -0400 |
commit | 1f6834c3d8cf001c6bb4d52ab4221855989d7e8a (patch) | |
tree | ff5939ad80bd1b94b4d696b8ca4ef302dea931b5 | |
parent | befba000e922dc261e8a23a826505847c2d4d01c (diff) |
read stdout and stderr in parallel (using futures)
Signed-off-by: Stuart Halloway <stu@thinkrelevance.com>
-rw-r--r-- | src/clj/clojure/java/shell.clj | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/clj/clojure/java/shell.clj b/src/clj/clojure/java/shell.clj index 72f0311b..fa553671 100644 --- a/src/clj/clojure/java/shell.clj +++ b/src/clj/clojure/java/shell.clj @@ -124,10 +124,10 @@ collecting its stdout"} (.close (.getOutputStream proc))) (with-open [stdout (.getInputStream proc) stderr (.getErrorStream proc)] - (let [out (stream-to-enc stdout out-enc) - err (stream-to-string stderr) + (let [out (future (stream-to-enc stdout out-enc)) + err (future (stream-to-string stderr)) exit-code (.waitFor proc)] - {:exit exit-code :out out :err err})))) + {:exit exit-code :out @out :err @err})))) (comment |