lib/frontkick/command.rb in frontkick-0.4.4 vs lib/frontkick/command.rb in frontkick-0.4.5

- old
+ new

@@ -20,13 +20,15 @@ lock_fd = file_lock(opts[:exclusive], opts[:exclusive_blocking]) if opts[:exclusive] begin timeout(opts[:timeout], Frontkick::TimeoutLocal) do # nil is for no timeout duration = Benchmark.realtime do stdin, out, err, wait_thr = Open3.popen3(*cmd_array) + out_reader = Thread.new { out.read } + err_reader = Thread.new { err.read } stdin.close pid = wait_thr.pid - stdout = out.read - stderr = err.read + stdout = out_reader.value + stderr = err_reader.value exit_code = wait_thr.value.exitstatus process_wait(pid) end end rescue Frontkick::TimeoutLocal => e