From f449c04a3648f56a535399d4108b738e36059455 Mon Sep 17 00:00:00 2001 From: matz Date: Wed, 10 Dec 2003 08:26:36 +0000 Subject: * io.c (read_all): should return given string even if data read is empty. [ruby-dev:22207] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@5159 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/weakref.rb | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'lib/weakref.rb') diff --git a/lib/weakref.rb b/lib/weakref.rb index 2e2a55ebe6..49b907ba17 100644 --- a/lib/weakref.rb +++ b/lib/weakref.rb @@ -16,24 +16,24 @@ class WeakRef [ref,...] - ID_REV_MAP = {} # ref -> obj + @@id_map = {} # obj -> [ref,...] + @@id_rev_map = {} # ref -> obj @@final = lambda{|id| __old_status = Thread.critical Thread.critical = true begin - rids = ID_MAP[id] + rids = @@id_map[id] if rids for rid in rids - ID_REV_MAP.delete(rid) + @@id_rev_map.delete(rid) end - ID_MAP.delete(id) + @@id_map.delete(id) end - rid = ID_REV_MAP[id] + rid = @@id_rev_map[id] if rid - ID_REV_MAP.delete(id) - ID_MAP[rid].delete(id) - ID_MAP.delete(rid) if ID_MAP[rid].empty? + @@id_rev_map.delete(id) + @@id_map[rid].delete(id) + @@id_map.delete(rid) if @@id_map[rid].empty? end ensure Thread.critical = __old_status @@ -48,16 +48,16 @@ class WeakRef