From 0cbe3ee24cb4a2ffbcaf44f041b30813cac8ff94 Mon Sep 17 00:00:00 2001 From: Alex Wiens <alex.wiens@uni-paderborn.de> Date: Mon, 17 Feb 2025 18:04:12 +0100 Subject: [PATCH] Prule.daemon: Add blocking of SIGPIPE --- prule/daemon/__main__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/prule/daemon/__main__.py b/prule/daemon/__main__.py index cdea2b8..98c6e83 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', -- GitLab