# File lib/ftw/server.rb, line 105 def each_connection(&block) # TODO(sissel): Select on all sockets # TODO(sissel): Accept and yield to the block stopper = @stopper[0] while !@sockets.empty? @control_lock.synchronize do sockets = @sockets.values + [stopper] read, write, error = IO.select(sockets, nil, nil, nil) break if read.include?(stopper) read.each do |serversocket| socket, addrinfo = serversocket.accept connection = FTW::Connection.from_io(socket) yield connection end end end end