Merge remote-tracking branch 'origin/pycurl' into planetlab-4_0-branch
[plcapi.git] / ModPython.py
index 2f46b17..a1b2ab2 100644 (file)
@@ -5,7 +5,7 @@
 # Mark Huang <mlhuang@cs.princeton.edu>
 #
 # Copyright (C) 2004-2006 The Trustees of Princeton University
-# $Id: ModPython.py,v 1.2 2006/10/25 21:05:05 mlhuang Exp $
+# $Id: ModPython.py,v 1.5 2007/02/12 18:42:49 mlhuang Exp $
 #
 
 import sys
@@ -45,6 +45,10 @@ 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; charset=" + api.encoding
         req.send_http_header()
@@ -52,7 +56,7 @@ def handler(req):
 
         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