If it's a file driver, the OS should be updating the atime of the session
file, but it has nothing to do with the way CGI::Session handles atime().
CGI::Session stores atime information inside the session data. This field is
updated every time the session is loaded using CGI::Session->new(...)
syntax.
CGI::Session::find() doesn't call new(), it calls load(). But again, if you
could create a small test script to re-generate the error, we'll look at it.
Usually test scripts explain better than words :).
--
Sherzod
Show quoted text> -----Original Message-----
> From: via RT [mailto:bug-CGI-Session@rt.cpan.org]
> Sent: Thursday, April 13, 2006 9:48 PM
> To: undisclosed-recipients:
> Subject: [rt.cpan.org #18442] CGI::Session::find call
>
>
>
> Queue: CGI-Session
> Ticket <URL:
http://rt.cpan.org/Ticket/Display.html?id=18442 >
>
> On Wed Mar 29 18:48:38 2006, guest wrote:
> > When calling find to enumerate all sessions stored, it will
> update the
> > last modified timestamp. If you have a cron job that's
> running with an
> > interval less than the expiration time, sessions will never
> expire. I
> > would be useful to bypass updating the last modified timestamp for
> > this call.
>
> Which driver are you referring to? Are you sure it's updating
> the modification time ("mtime") and not the last access time
> ("atime").
>
> I've reviewed the "traverse" method of the various drivers
> and I don't see that this is happening explicitly.
>
> If you would like further work to happen on this issue,
> please submit a failing test in the style of "Test::More".
> See the test suite of CGI::Session for examples.
>
> You might also discuss the issue further on the CGI::Session
> users mailing list.
>
> Mark
>
>