# File lib/mutex_fix.rb, line 6
  def lock
    while (Thread.critical = true; @locked)
      @waiting.unshift Thread.current
      Thread.stop
    end
    @locked = true
    Thread.critical = false
    self
  end