summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJose M. Guisado <jguisado@soleta.eu>2021-11-17 11:39:26 +0100
committerJose M. Guisado <jguisado@soleta.eu>2021-11-17 13:00:33 +0100
commitfd1f01d76b803f2b72165d4e79b516dc50bde52f (patch)
tree866a4eda87180ad4758ab86ca9b9a12707b69c69
parentab7abf96a6832a227fe2218bb191cc2d1fc73030 (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-xogclient12
1 files changed, 10 insertions, 2 deletions
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()