
On Fri, 25 Feb 2005 22:35:18 +0100, Stefan Scholl <stesch@no-spoon.de> wrote:
But I hope the session will be removed at some time, even when nobody tries to access an expired session?
Yes, see the code for SESSION-GC. It will be removed at some time unless nobody tries to access any session at all, whether expired or not. To make this more clear: 1. Whenever you try to access an expired session it will be automatically removed and thus your Lisp is free to garbage-collect it now. 2. Whenever any session whatsoever is accessed a global counter is increased and at certain intervals (there's a special variable for that but I don't think it's exported) all sessions which are expired will be removed even if their users haven't accesses them. This implies that sessions might stay in the Lisp image for a long time (although expired) /if/ there's no traffic /or/ if there's only traffic that doesn't use sessions. The alternative would be a separate thread which checks for expired session independently of server traffic. I think that's overly complex, though, and the benefit of the current solution is that it kind of automatically adapts to the server load. Cheers, Edi.