# 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