# File lib/ruote/exp/fe_reserve.rb, line 83
    def set_mutex

      target, var = locate_var(h.mutex_name)

      val = target.variables[var]

      # [ 'mutex', name, [ fei0, fei1, ... ] ]

      mutex = val ? val : [ 'mutex', var, [] ]

      mutex.last << h.fei

      target.variables[var] = mutex

      r = target.try_persist

      return set_mutex if r != nil

      if mutex.last.first == h.fei
        enter
      else
        persist_or_raise
      end
    end