diff options
author | Jose M. Guisado <jguisado@soleta.eu> | 2021-11-17 11:39:26 +0100 |
---|---|---|
committer | Jose M. Guisado <jguisado@soleta.eu> | 2021-11-17 13:00:33 +0100 |
commit | fd1f01d76b803f2b72165d4e79b516dc50bde52f (patch) | |
tree | 866a4eda87180ad4758ab86ca9b9a12707b69c69 | |
parent | ab7abf96a6832a227fe2218bb191cc2d1fc73030 (diff) |
#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.
-rwxr-xr-x | ogclient | 12 |
1 files changed, 10 insertions, 2 deletions
@@ -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() |