# File lib/redis.rb, line 1009
  def multi
    synchronize do
      if !block_given?
        @client.call :multi
      else
        result = pipelined(:raise => false) do
          multi
          yield(self)
          exec
        end

        result.last
      end
    end
  end