From fd1f01d76b803f2b72165d4e79b516dc50bde52f Mon Sep 17 00:00:00 2001 From: "Jose M. Guisado" Date: Wed, 17 Nov 2021 11:39:26 +0100 Subject: #1065 Avoid SIGPIPE errors in windows mode SIGPIPE is only available on Unix. Add try/except so that this import does not crash ogclient when running in Windows mode. Only assign SIG_DFL handler to SIGPIPE when mode is not windows. Prefer signal.signal over signal alone to better distinguish module from function. --- ogclient | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'ogclient') diff --git a/ogclient b/ogclient index 5409c67..528a0e4 100755 --- a/ogclient +++ b/ogclient @@ -9,12 +9,18 @@ # (at your option) any later version. import json +import logging import subprocess +try: + from signal import SIG_DFL, SIGPIPE +except ImportError: + from signal import SIG_DFL + + from src.ogClient import * -from signal import signal, SIGPIPE, SIG_DFL + def main(): - signal(SIGPIPE, SIG_DFL) config_path = f'{ogClient.OG_PATH}ogclient/cfg/ogclient.json' try: with open(config_path, 'r') as f: @@ -27,6 +33,8 @@ def main(): URL = CONFIG['opengnsys']['url'] if MODE == 'live': proc = subprocess.Popen(["browser", "-qws", URL]) + if MODE != 'windows': + signal.signal(SIGPIPE, SIG_DFL) client = ogClient(config=CONFIG) client.connect() -- cgit v1.2.3-18-g5258