aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/cgi_process.rb
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2005-11-09 20:34:44 +0000
committerJeremy Kemper <jeremy@bitsweat.net>2005-11-09 20:34:44 +0000
commit3661eacfbde129ea1ed4dbecf1789175c80ce73b (patch)
treefa2defbda24ec60485e3e3cafe82d080ae3e0794 /actionpack/lib/action_controller/cgi_process.rb
parent773b869088f341005ba1f01fc5ec1185665f15f1 (diff)
downloadrails-3661eacfbde129ea1ed4dbecf1789175c80ce73b.tar.gz
rails-3661eacfbde129ea1ed4dbecf1789175c80ce73b.tar.bz2
rails-3661eacfbde129ea1ed4dbecf1789175c80ce73b.zip
Include all of session creation in stale_session_check
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2958 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_controller/cgi_process.rb')
-rw-r--r--actionpack/lib/action_controller/cgi_process.rb14
1 files changed, 8 insertions, 6 deletions
diff --git a/actionpack/lib/action_controller/cgi_process.rb b/actionpack/lib/action_controller/cgi_process.rb
index 62bbd02e32..51a0433a89 100644
--- a/actionpack/lib/action_controller/cgi_process.rb
+++ b/actionpack/lib/action_controller/cgi_process.rb
@@ -95,12 +95,14 @@ module ActionController #:nodoc:
if @session_options == false
@session = Hash.new
else
- if session_options_with_string_keys['new_session'] == true
- @session = new_session
- else
- @session = CGI::Session.new(@cgi, session_options_with_string_keys)
+ stale_session_check! do
+ if session_options_with_string_keys['new_session'] == true
+ @session = new_session
+ else
+ @session = CGI::Session.new(@cgi, session_options_with_string_keys)
+ end
+ @session['__valid_session']
end
- stale_session_check!
end
end
@session
@@ -127,7 +129,7 @@ module ActionController #:nodoc:
end
def stale_session_check!
- @session['__valid_session']
+ yield
rescue ArgumentError => argument_error
if argument_error.message =~ %r{undefined class/module (\w+)}
begin