# 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