# File lib/puppet/external/event-loop/event-loop.rb, line 115
115:   def iterate (user_timeout=nil)
116:     t1, t2 = user_timeout, max_timeout
117:     timeout = t1 && t2 ? [t1, t2].min : t1 || t2
118:     select(timeout).zip(IO_STATES) do |ios, state|
119:       ios.each { |x| x.signal(state) } if ios
120:     end
121:   end