X-Git-Url: http://www.dolda2000.com/gitweb/?p=ashd.git;a=blobdiff_plain;f=python%2Fashd-wsgi;h=d5438fabb3a08718f2ddddbfda61c2e4bd76c666;hp=f1f40b233abf2580c4eccc45588031d79034dc45;hb=fd0303c3260c6397b33912312af67e7a99523926;hpb=5c6e20a6cda40337414bb886ae7f0734085b7408 diff --git a/python/ashd-wsgi b/python/ashd-wsgi index f1f40b2..d5438fa 100755 --- a/python/ashd-wsgi +++ b/python/ashd-wsgi @@ -1,6 +1,6 @@ #!/usr/bin/python -import sys, os, getopt, socket, logging, time +import sys, os, getopt, socket, logging, time, signal import ashd.util, ashd.serve try: import pdm.srv @@ -8,7 +8,7 @@ except: pdm = None def usage(out): - out.write("usage: ashd-wsgi [-hAL] [-m PDM-SPEC] [-p MODPATH] [-l REQLIMIT] [-t REQUEST-HANDLER[:PAR[=VAL](,PAR[=VAL])...]] HANDLER-MODULE [ARGS...]\n") + out.write("usage: ashd-wsgi [-hAL] [-m PDM-SPEC] [-p MODPATH] [-t REQUEST-HANDLER[:PAR[=VAL](,PAR[=VAL])...]] HANDLER-MODULE [ARGS...]\n") hspec = "free", {} modwsgi_compat = False @@ -191,6 +191,11 @@ except ValueError as exc: sys.stderr.write("ashd-wsgi: %s\n" % exc) sys.exit(1) +def sigterm(sig, frame): + socket.fromfd(0, socket.AF_UNIX, socket.SOCK_SEQPACKET).shutdown(socket.SHUT_RDWR) # :P +for signum in [signal.SIGINT, signal.SIGTERM]: + signal.signal(signum, sigterm) + reqhandler = hclass(**hargs) try: ashd.util.serveloop(handle)