in reply to Re: Re: CGI::Session->delete()
in thread CGI::Session->delete()

True, it is for expired sessions rather than explicitly deleted sessions but here's a one line change to do both:

Change

if ( time() >= $D->{ _SESSION_ETIME } + $D->{ _SESSION_ATIME } ) {

To

if ( time() >= $D->{ _SESSION_ETIME } + $D->{ _SESSION_ATIME } or $D-> +{ _STATUS } == 2 ) {

Warning: untested.

--
"To err is human, but to really foul things up you need a computer." --Paul Ehrlich

Replies are listed 'Best First'.
Re: Re: Re: Re: CGI::Session->delete()
by Anonymous Monk on Oct 24, 2003 at 13:51 UTC
    Thanks again,
    Sadly it was a Code 18 (the problem was 18 inches from the computer screen - better to admit it than confuse others). The script that deleted the session was called from another script that opened the session object. I'm thinking that when the inner script did the delete the OS prevented the unlink becase the outer script still had an open object.
    Either way, it works now.
    Regards.