зеркало из https://github.com/github/ruby.git
23 строки
341 B
Ruby
23 строки
341 B
Ruby
|
nr = 1_000_000
|
||
|
i = 0
|
||
|
msg = '.'
|
||
|
buf = '.'
|
||
|
noex = { exception: false }
|
||
|
begin
|
||
|
r, w = IO.pipe
|
||
|
while i < nr
|
||
|
i += 1
|
||
|
w.write_nonblock(msg, noex)
|
||
|
r.read_nonblock(1, buf, noex)
|
||
|
end
|
||
|
rescue ArgumentError # old Rubies
|
||
|
while i < nr
|
||
|
i += 1
|
||
|
w.write_nonblock(msg)
|
||
|
r.read_nonblock(1, buf)
|
||
|
end
|
||
|
ensure
|
||
|
r.close
|
||
|
w.close
|
||
|
end
|