# CGI/Session expiration witch ruby-libs-1.8.6.369-1.fc11.i586

**URL:** <https://www.ruby-forum.com/t/cgi-session-expiration-witch-ruby-libs-1-8-6-369-1-fc11-i586/176806>\
**Category:** Ruby\
**Created:** [October 6, 2009, 1:40pm UTC](https://www.ruby-forum.com/t/cgi-session-expiration-witch-ruby-libs-1-8-6-369-1-fc11-i586/176806 "2009-10-06T13:40:28Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![learningruby](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/6bbea6/32.png) [@learningruby](https://www.ruby-forum.com/u/learningruby)\
**Post date:** [October 6, 2009, 1:40pm UTC](https://www.ruby-forum.com/t/cgi-session-expiration-witch-ruby-libs-1-8-6-369-1-fc11-i586/176806/1 "2009-10-06T13:40:28Z")

</div>

Hi every

i have a Web application making heavy use of CGI/Sessions. i could,  
however, not specify an session expiration-date different from zero,  
which makes the session expire, when the curren browser session is  
terminated, i.e. when you close the browser.

the following patch to ruby-libs-1.8.6.369-1.fc11.i586 helped me along:

\*\*\* /usr/lib/ruby/1.8/cgi/session.rb 2009-08-07 09:46:57.000000000 +0200 \*\*\*\*\*\*\*\*\*\*\*\*\*\*\* \*\*\* 278,283 \*\*\*\* --- 278,284 ---- session\_id = @session\_id = create\_new\_id retry end + if option["new\_session"] request.instance\_eval do @output\_hidden = {session\_key =\> session\_id} unless option['no\_hidden'] @output\_cookies = [\*\*\*\*\*\*\*\*\*\*\*\*\*\*\* \*\*\* 295,300 \*\*\*\* --- 296,302 ---- end)] unless option['no\_cookies'] end + end @dbprot = [@dbman] ObjectSpace::define\_finalizer(self, Session::callback(@dbprot)) end

with this patch, everything works as expected.

suomi
