From b09143848f32c34c4b8dcf5a5e609e56511fdf1b Mon Sep 17 00:00:00 2001 From: David Powell Date: Sun, 11 Jul 2010 10:37:40 +0100 Subject: [PATCH] read stdout and stderr in parallel --- src/clj/clojure/java/shell.clj | 5 +++-- 1 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/clj/clojure/java/shell.clj b/src/clj/clojure/java/shell.clj index 72f0311..f6e00c1 100644 --- a/src/clj/clojure/java/shell.clj +++ b/src/clj/clojure/java/shell.clj @@ -124,8 +124,9 @@ 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 err] + (pvalues (stream-to-enc stdout out-enc) + (stream-to-string stderr)) exit-code (.waitFor proc)] {:exit exit-code :out out :err err})))) -- 1.6.5.1.1367.gcd48