# File lib/dbus/bus.rb, line 444
    def request_service(name)
      # Use RequestName, but asynchronously!
      # A synchronous call would not work with service activation, where
      # method calls to be serviced arrive before the reply for RequestName
      # (Ticket#29).
      proxy.RequestName(name, NAME_FLAG_REPLACE_EXISTING) do |rmsg, r|
        if rmsg.is_a?(Error)  # check and report errors first
          raise rmsg
        elsif r != REQUEST_NAME_REPLY_PRIMARY_OWNER
          raise NameRequestError
        end
      end
      @service = Service.new(name, self)
      @service
    end