diff -r 27971a13089f -r 2e0b0af889be thirdparty/google_appengine/google/appengine/tools/dev_appserver_main.py --- a/thirdparty/google_appengine/google/appengine/tools/dev_appserver_main.py Sat Sep 05 14:04:24 2009 +0200 +++ b/thirdparty/google_appengine/google/appengine/tools/dev_appserver_main.py Sun Sep 06 23:31:53 2009 +0200 @@ -68,10 +68,15 @@ import logging import os import re +import signal import sys import traceback import tempfile +logging.basicConfig( + level=logging.INFO, + format='%(levelname)-8s %(asctime)s %(filename)s:%(lineno)s] %(message)s') + def SetGlobals(): """Set various global variables involving the 'google' package. @@ -379,6 +384,14 @@ return server +def SigTermHandler(signum, frame): + """Handler for TERM signal. + + Raises a KeyboardInterrupt to perform a graceful shutdown on SIGTERM signal. + """ + raise KeyboardInterrupt() + + def main(argv): """Runs the development application server.""" args, option_dict = ParseArguments(argv) @@ -419,9 +432,7 @@ option_dict['root_path'] = os.path.realpath(root_path) - logging.basicConfig( - level=log_level, - format='%(levelname)-8s %(asctime)s %(filename)s:%(lineno)s] %(message)s') + logging.getLogger().setLevel(log_level) config = None try: @@ -461,6 +472,8 @@ allow_skipped_files=allow_skipped_files, static_caching=static_caching) + signal.signal(signal.SIGTERM, SigTermHandler) + logging.info('Running application %s on port %d: http://%s:%d', config.application, port, serve_address, port) try: