summaryrefslogtreecommitdiff
path: root/lib/cgi
diff options
context:
space:
mode:
Diffstat (limited to 'lib/cgi')
-rw-r--r--lib/cgi/session.rb7
1 files changed, 5 insertions, 2 deletions
diff --git a/lib/cgi/session.rb b/lib/cgi/session.rb
index 9187dbf82d..23c9bdc2a4 100644
--- a/lib/cgi/session.rb
+++ b/lib/cgi/session.rb
@@ -12,7 +12,7 @@ class CGI
def Session::callback(dbman)
lambda{
- dbman.close
+ dbman[0].close unless dbman.empty?
}
end
@@ -63,7 +63,8 @@ class CGI
end)
]
end
- ObjectSpace::define_finalizer(self, Session::callback(@dbman))
+ @dbprot = [@dbman]
+ ObjectSpace::define_finalizer(self, Session::callback(@dbprot))
end
def [](key)
@@ -89,10 +90,12 @@ class CGI
def close
@dbman.close
+ @dbprot.clear
end
def delete
@dbman.delete
+ @dbprot.clear
end
class FileStore