diff options
Diffstat (limited to 'lib/weakref.rb')
-rw-r--r-- | lib/weakref.rb | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/weakref.rb b/lib/weakref.rb index 3dff9038eb..c86d532936 100644 --- a/lib/weakref.rb +++ b/lib/weakref.rb @@ -20,8 +20,8 @@ class WeakRef<Delegator ID_REV_MAP = {} # ref -> obj ObjectSpace.add_finalizer(lambda{|id| __old_status = Thread.critical - Thread.critical = true begin + Thread.critical = true rids = ID_MAP[id] if rids for rid in rids @@ -45,8 +45,8 @@ class WeakRef<Delegator @__id = orig.__id__ ObjectSpace.call_finalizer orig ObjectSpace.call_finalizer self + __old_status = Thread.critical begin - __old_status = Thread.critical Thread.critical = true ID_MAP[@__id] = [] unless ID_MAP[@__id] ensure |