X-Git-Url: https://git.distorted.org.uk/~mdw/hippotat/blobdiff_plain/1d33eef34159fefbafbade2c09ead1c5c23ff32c..d72f83602e9173940102c718974025e16b873657:/hippotatd diff --git a/hippotatd b/hippotatd index bc55650..666fc1b 100755 --- a/hippotatd +++ b/hippotatd @@ -296,7 +296,8 @@ def process_cfg(_opts, putative_servers, putative_clients): global c c = ConfigResults() - c.server = cfg.get('SERVER','server') + try: c.server = cfg.get('SERVER','server') + except NoOptionError: c.server = 'SERVER' cfg_process_common(c, c.server) cfg_process_saddrs(c, c.server) @@ -319,6 +320,9 @@ def process_cfg(_opts, putative_servers, putative_clients): c.vrelay = search break + try: c.ifname = cfg.get(c.server, 'ifname_server', raw=True) + except NoOptionError: pass + cfg_process_ipif(c, [c.server, 'DEFAULT'], (('local','vaddr'), @@ -346,7 +350,9 @@ def catch_termination(): raise RuntimeError('did not die due to signal %s !' % name) for sig in (signal.SIGINT, signal.SIGTERM): - signal.signal(sig, partial(signal_handler, sig.name)) + try: signame = sig.name + except AttributeError: signame = "signal %d" % sig + signal.signal(sig, partial(signal_handler, signame)) def daemonise(): global syslogfacility @@ -359,6 +365,7 @@ def daemonise(): facility=facilnum, logoption=syslog.LOG_PID) def emit(event): + if logevent_is_boringtwisted(event): return m = twisted.logger.formatEvent(event) #print(repr(event), m, file=org_stderr) level = event.get('log_level') @@ -397,16 +404,15 @@ def daemonise(): if grandchildpid: # we are the intermediate child if opts.pidfile is not None: - print(grandchildpid, file=pfh) - pfh.close() + print(grandchildpid, file=pidfile_h) + pidfile_h.close() os._exit(0) - mypid = os.getpid() - pfh.close() + if opts.pidfile is not None: + pidfile_h.close() logger = subprocess.Popen(['logger','-d', - '-t','hippotat(stderr)', - '--id=%d' % mypid, + '-t','hippotat[%d](stderr)' % os.getpid(), '-p',opts.syslogfacility + '.err'], stdin=subprocess.PIPE, stdout=subprocess.DEVNULL,