X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=tests%2Ftest-daemon.py;h=350b8f7031d363ffdbf2a7d17d5b2505ae0dec42;hb=1d0f14d4c1da6e67234c0c43db66721cd7fbac98;hp=3c757f30861330bd049cff7f044b5bcbb924cb6b;hpb=991559357f6a03c3a5b70c053c8c2554aa8d5ee4;p=openvswitch diff --git a/tests/test-daemon.py b/tests/test-daemon.py index 3c757f30..350b8f70 100644 --- a/tests/test-daemon.py +++ b/tests/test-daemon.py @@ -1,11 +1,11 @@ -# 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. # You may obtain a copy of the License at: -# +# # http://www.apache.org/licenses/LICENSE-2.0 -# +# # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -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)