X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=tests%2Ftest-daemon.py;h=350b8f7031d363ffdbf2a7d17d5b2505ae0dec42;hb=f6749eeaea2dd15f195ade25db627d5275903b59;hp=98a51658088717b3931130b4f75bde9f190dc979;hpb=9c64f2384d850658985d7e18003443c196e89ae1;p=sliver-openvswitch.git diff --git a/tests/test-daemon.py b/tests/test-daemon.py index 98a516580..350b8f703 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)