# File lib/dbus/bus.rb, line 561
    def send_sync(m, &retc) # :yields: reply/return message
      return if m.nil? #check if somethings wrong
      send(m.marshall)
      @method_call_msgs[m.serial] = m
      @method_call_replies[m.serial] = retc

      retm = wait_for_message
      
      return if retm.nil? #check if somethings wrong
      
      process(retm)
      while @method_call_replies.has_key? m.serial
        retm = wait_for_message
        process(retm)
      end
    end