Skip to content

Commit 8cba035

Browse files
authored
Merge pull request #2571 from danielmartin/revert-2517-fix-select-blocking
Revert "Fix `IO#select` blocking."
2 parents 0c9047a + a98991a commit 8cba035

File tree

1 file changed

+2
-10
lines changed

1 file changed

+2
-10
lines changed

Library/Homebrew/cask/lib/hbc/system_command.rb

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -92,25 +92,17 @@ def write_input_to(raw_stdin)
9292

9393
def each_line_from(sources)
9494
loop do
95-
selected_sources = IO.select(sources, [], [], 10)
96-
97-
break if selected_sources.nil?
98-
99-
readable_sources = selected_sources[0].delete_if(&:eof?)
100-
101-
readable_sources.each do |source|
95+
readable_sources = IO.select(sources)[0]
96+
readable_sources.delete_if(&:eof?).first(1).each do |source|
10297
type = (source == sources[0] ? :stdout : :stderr)
103-
10498
begin
10599
yield(type, source.readline_nonblock || "")
106100
rescue IO::WaitReadable, EOFError
107101
next
108102
end
109103
end
110-
111104
break if readable_sources.empty?
112105
end
113-
114106
sources.each(&:close_read)
115107
end
116108

0 commit comments

Comments
 (0)