# File lib/capistrano/processable.rb, line 38 def ensure_each_session errors = [] sessions.each do |session| begin yield session rescue Exception => error errors << SessionAssociation.on(error, session) end end raise errors.first if errors.any? sessions end
# File lib/capistrano/processable.rb, line 16 def process_iteration(wait=nil, &block) ensure_each_session { |session| session.preprocess } return false if block && !block.call(self) readers = sessions.map { |session| session.listeners.keys }.flatten.reject { |io| io.closed? } writers = readers.select { |io| io.respond_to?(:pending_write?) && io.pending_write? } if readers.any? || writers.any? readers, writers, = IO.select(readers, writers, nil, wait) end if readers ensure_each_session do |session| ios = session.listeners.keys session.postprocess(ios & readers, ios & writers) end end true end
Generated with the Darkfish Rdoc Generator 2.