diff options
| author | Markus Reiter | 2017-05-01 16:37:56 +0200 |
|---|---|---|
| committer | GitHub | 2017-05-01 16:37:56 +0200 |
| commit | 8cba0352e0be94263e2ed96c98bf93d8f2fce8ef (patch) | |
| tree | 00e3ff859eeb274693c09cee3581168b044c6410 /Library | |
| parent | 0c9047a2b81eaa58ccffa286a08df214a05f88ef (diff) | |
| parent | a98991a10f295cfaf108428e191971f1cb248940 (diff) | |
| download | brew-8cba0352e0be94263e2ed96c98bf93d8f2fce8ef.tar.bz2 | |
Merge pull request #2571 from danielmartin/revert-2517-fix-select-blocking1.2.0
Revert "Fix `IO#select` blocking."
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/cask/lib/hbc/system_command.rb | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/Library/Homebrew/cask/lib/hbc/system_command.rb b/Library/Homebrew/cask/lib/hbc/system_command.rb index f1ec34025..c14079bc8 100644 --- a/Library/Homebrew/cask/lib/hbc/system_command.rb +++ b/Library/Homebrew/cask/lib/hbc/system_command.rb @@ -92,25 +92,17 @@ module Hbc def each_line_from(sources) loop do - selected_sources = IO.select(sources, [], [], 10) - - break if selected_sources.nil? - - readable_sources = selected_sources[0].delete_if(&:eof?) - - readable_sources.each do |source| + readable_sources = IO.select(sources)[0] + readable_sources.delete_if(&:eof?).first(1).each do |source| type = (source == sources[0] ? :stdout : :stderr) - begin yield(type, source.readline_nonblock || "") rescue IO::WaitReadable, EOFError next end end - break if readable_sources.empty? end - sources.each(&:close_read) end |
