# File lib/mutex_fix.rb, line 6 6: def lock 7: while (Thread.critical = true; @locked) 8: @waiting.unshift Thread.current 9: Thread.stop 10: end 11: @locked = true 12: Thread.critical = false 13: self 14: end