Michele Simionato wrote: >This is just to ask if somebody here has experience with session management >in mod_python and if we could borrow ideas/code from it (for instance about >the locking mechanism). I have heard people saying sessions in mod_python >work fine, so I wanted to know if this was a general impression. This is >the relevant page in the documentation: > >http://www.modpython.org/live/current/doc-html/pyapi-sess.html > > Michele Simionato >_______________________________________________ >Quixote-users mailing list >Quixote-users@mems-exchange.org >http://mail.mems-exchange.org/mailman/listinfo/quixote-users > > I haven't used mod_python, but here's the locking code. It seems to be a wrapper around an Apache locking feature. It all looks very Apache-specific, possibly useful for mod_scgi but not much elsewhere. # --- mod_python/Session module -- class BaseSession(dict): def __init__(self, ..., lock=1, ...): self._lock = lock self._locked = 0 ... self.init_lock() if self._sid: # Session ID. self.lock() ... if self._new: # Unlock old ._sid, create session, unlock new ._sid. def __del__(self): self.unlock() def init_lock(self): pass def lock(self): if self._lock: # Using DBM sessions rather than memory sessions. _apache._global_lock(self._req.server, self._sid) self._locked = 1 ... # --- _apachemodule.c --- .._global_lock is a C method that calls: apr_pool_userdata_get apr_global_mutex_lock