| Scott Chapman 
    scottie at mischko.com Sat Mar 26 16:29:25 EST 2005 
 Using linux - prefork mpm.
I set my httpd.conf:
StartServers 1
MinSpareServers 1
MaxSpareServers 0
MaxClients 1
MaxRequestsPerChild  0
for this test run.
Here's my UberServlet:
-------------- snip --------------
from mod_python.servlet import Servlet
class uberservlet(Servlet):
     use_session = True
     def respond(self):
         self.req.log_error('Responding')
 
methodName=self.req.uri[:len(self.req.uri)-len(self.req.path_info)][1:]
         self.req.log_error('methodName: '+methodName)
         if methodName == 'index':
             self.req.log_error('Redirecting to login')
             self.internal_redirect('/login')
         if methodName == 'login':
             self.req.log_error('Doing login')
             self.writeln ('<h1>login_here</h1>')
             return True
     def wrapup(self):
         Servlet.wrapup(self)
-------------- snip --------------
When I make Sesssion lock=0, it doesn't hang.
When I don't set lock = 0 (the default) it hangs when trying to 
establish the session:
   self.session = Session.Session(self.req, timeout=self.session_timeout)
What problems do I look forward to if I run with lock=0?
Quoting Grisha:
"One thing you may try as an experiment is to disable session locking
(Session(lock=0)). It will still use locking for access to the DBM, but 
it won't lock individual sessions."
Grisha calls this "an experiment".  Can anyone tell me why locking is 
failing and what will happen if I run with locking off?
TIA,
Scott
 |