diff --git a/lib/foreman/engine.rb b/lib/foreman/engine.rb index 139a114..97e5e42 100644 --- a/lib/foreman/engine.rb +++ b/lib/foreman/engine.rb @@ -273,10 +273,13 @@ private Thread.new do begin loop do + wrote_data = false (IO.select(@readers.values).first || []).each do |reader| data = reader.gets + wrote_data = !data.nil? output_with_mutex name_for(@readers.invert[reader]), data end + sleep(1) unless wrote_data end rescue Exception => ex puts ex.message