X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=ModPython.py;h=a1b2ab22d6026888c8825af92dde0207fdc7a3ea;hb=refs%2Fheads%2Fplanetlab-4_0-branch;hp=e5f1174dc10cba2339359e1d5662be4dc3036634;hpb=24d16d18acab3da7bccc3e09df4927e9cf2d3246;p=plcapi.git diff --git a/ModPython.py b/ModPython.py index e5f1174..a1b2ab2 100644 --- a/ModPython.py +++ b/ModPython.py @@ -5,7 +5,7 @@ # Mark Huang # # Copyright (C) 2004-2006 The Trustees of Princeton University -# $Id$ +# $Id: ModPython.py,v 1.5 2007/02/12 18:42:49 mlhuang Exp $ # import sys @@ -45,15 +45,18 @@ def handler(req): # Handle request response = api.handle(remote_addr, request) + # Shut down database connection, otherwise up to MaxClients DB + # connections will remain open. + api.db.close() + # Write response - req.content_type = "text/xml" - req.headers_out.add("Content-length", str(len(response))) + req.content_type = "text/xml; charset=" + api.encoding req.send_http_header() req.write(response) return apache.OK - except: + except Exception, err: # Log error in /var/log/httpd/(ssl_)?error_log - print >> log, traceback.format_exc() + print >> log, err, traceback.format_exc() return apache.HTTP_INTERNAL_SERVER_ERROR