summaryrefslogtreecommitdiff
path: root/lib/weakref.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/weakref.rb')
-rw-r--r--lib/weakref.rb4
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