small typo there, this is better...
require 'thread'
input = nil
t = Thread.new() do
input = STDIN.readlines
end
# do some stuff
# parse some options
while t.alive?
old = input
puts "collecting input..." if old
puts "thread running for 1 second"
Kernel.sleep(1)
if old == input
if input
puts "done collecting input"
else
puts "no input found on STDIN"
end
Kernel.sleep(1)
t.kill
break
end
end
puts input