# File lib/Borges/Utilities/StateRegistry.rb, line 86 def snapshot gc_disabled = nil snapshot = {} Thread.exclusive do gc_disabled = GC.disable end @wrefs.each do |wref| if wref.weakref_alive? then obj = wref.__getobj__ snapshot[obj] = obj.clone end end GC.enable unless gc_disabled @wrefs.delete_if do |wref| not wref.weakref_alive? end return snapshot end