diff --git a/prule/daemon/__main__.py b/prule/daemon/__main__.py index cdea2b8f308c22bdee7786d061cf654e4b10a86f..98c6e8313194d82449b57e37ec347b4ec57bf0b0 100644 --- a/prule/daemon/__main__.py +++ b/prule/daemon/__main__.py @@ -659,7 +659,7 @@ class PruleThread(threading.Thread): if 'JOB_PROCESS_QUIET' not in config.config or config.config['JOB_PROCESS_QUIET'] == True: params += ["--quiet"] def preexec(): - signal.pthread_sigmask(signal.SIG_UNBLOCK, [signal.SIGINT, signal.SIGTERM, signal.SIGUSR1]) + signal.pthread_sigmask(signal.SIG_UNBLOCK, [signal.SIGINT, signal.SIGTERM, signal.SIGUSR1, signal.SIGPIPE]) with self.stopCondition: if self.currentProcess == None: self.currentProcess = subprocess.Popen(params, stdin=subprocess.PIPE, stdout=subprocess.PIPE, stderr=sys.stderr, preexec_fn = preexec) @@ -981,7 +981,7 @@ class PruleThread(threading.Thread): if __name__ == "__main__": # block signals, so startup will not be interrupted - signal.pthread_sigmask(signal.SIG_BLOCK, [signal.SIGINT, signal.SIGTERM, signal.SIGUSR1]) + signal.pthread_sigmask(signal.SIG_BLOCK, [signal.SIGINT, signal.SIGTERM, signal.SIGUSR1, signal.SIGPIPE]) parser = argparse.ArgumentParser( prog='prule daemon',