def poll(tm_out)
infds = [];outfds = [];oobfds = []
@registry.each do |s|
if s.is_readable?
infds << s.sock
oobfds << s.sock
end
if s.is_writable?
outfds << s.sock
end
end
infds,outfds,oobfds = select(infds, outfds, oobfds, tm_out)
@registry.each do |s|
s.handle_output if outfds && outfds.include?(s.sock)
s.handle_oob if oobfds && oobfds.include?(s.sock)
s.handle_input if infds && infds.include?(s.sock)
s.handle_close if s.closing
if @service_filters.include?(:telnetfilter) &&
s.respond_to?(:initdone) && !s.initdone
s.pstack.set(:init_subneg, true)
end
end
rescue
log.error "Reactor#poll"
log.error $!
raise
end