# File lib/sup/util.rb, line 150
  def ignore_concurrent_calls *methods
    methods.each do |meth|
      mutex = "@__concurrent_protector_#{meth}"
      flag = "@__concurrent_flag_#{meth}"
      oldmeth = "__unprotected_#{meth}"
      class_eval "alias \#{oldmeth} \#{meth}\ndef \#{meth}(*a, &b)\n\#{mutex} = Mutex.new unless defined? \#{mutex}\n\#{flag} = true unless defined? \#{flag}\nrun = \#{mutex}.synchronize do\nif \#{flag}\n\#{flag} = false\ntrue\nend\nend\nif run\nret = \#{oldmeth}(*a, &b)\n\#{mutex}.synchronize { \#{flag} = true }\nret\nend\nend\n"
    end
  end