# File lib/core/container.rb, line 294 def process return if closed? unless closing? begin return @io.accept, dispatch(:on_accept) rescue IO::WaitReadable, Errno::EINTR rescue StandardError => e @listener.close(e) end end ensure if closing? @io.close rescue nil @listener.instance_variable_set(:@closed, true) dispatch(:on_error, condition) if condition dispatch(:on_close) end end