X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Ftest-daemon.py;h=350b8f7031d363ffdbf2a7d17d5b2505ae0dec42;hb=1d0f14d4c1da6e67234c0c43db66721cd7fbac98;hp=98a51658088717b3931130b4f75bde9f190dc979;hpb=9c64f2384d850658985d7e18003443c196e89ae1;p=openvswitch diff --git a/tests/test-daemon.py b/tests/test-daemon.py index 98a51658..350b8f70 100644 --- a/tests/test-daemon.py +++ b/tests/test-daemon.py @@ -1,4 +1,4 @@ -# Copyright (c) 2010 Nicira Networks. +# Copyright (c) 2010, 2011 Nicira Networks. # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -13,13 +13,22 @@ # limitations under the License. import getopt +import logging +import signal import sys import time import ovs.daemon import ovs.util +def handler(signum, frame): + raise Exception("Signal handler called with %d" % signum) + def main(argv): + logging.basicConfig(level=logging.DEBUG) + + signal.signal(signal.SIGHUP, handler) + try: options, args = getopt.gnu_getopt( argv[1:], 'b', ["bail", "help"] + ovs.daemon.LONG_OPTIONS) @@ -38,7 +47,6 @@ def main(argv): % (ovs.util.PROGRAM_NAME, key)) sys.exit(1) - ovs.daemon.die_if_already_running() ovs.daemon.daemonize_start() if bail: sys.stderr.write("%s: exiting after daemonize_start() as requested\n" @@ -63,4 +71,10 @@ Other options: sys.exit(0) if __name__ == '__main__': - main(sys.argv) + try: + main(sys.argv) + except SystemExit: + # Let system.exit() calls complete normally + raise + except: + sys.exit(ovs.daemon.RESTART_EXIT_CODE)