From f24c6e8e8782cb0ceb8af0c28af5dff40b651908 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Fri, 1 Apr 2022 23:48:06 +0200 Subject: [PATCH] Do not start status report on platform without AF_UNIX socket issue11319 review393871002 --- bin/trytond-stat | 5 +++-- trytond/status.py | 7 +++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/bin/trytond-stat b/bin/trytond-stat index 38e80031dc..1b7f483124 100755 --- a/bin/trytond-stat +++ b/bin/trytond-stat @@ -128,7 +128,8 @@ def main(stdscr): processes[pid] = data refresh() refresh() - status.listen(config.get('database', 'path'), update) + return status.listen(config.get('database', 'path'), update) -curses.wrapper(main) +if not curses.wrapper(main): + sys.stderr.write("status not supported on this platform\n") diff --git a/trytond/status.py b/trytond/status.py index 35efda246d..2d438ab320 100644 --- a/trytond/status.py +++ b/trytond/status.py @@ -49,6 +49,8 @@ def log(): def dump(path): + if not hasattr(socket, 'AF_UNIX'): + return False sock = socket.socket(socket.AF_UNIX) try: try: @@ -74,6 +76,8 @@ def dumper(path): def start(path): global _PID, _PATH + if not hasattr(socket, 'AF_UNIX'): + return if _PID != os.getpid() and path: # Quick test without lock with _LOCK: if _PID != os.getpid(): @@ -84,6 +88,8 @@ def start(path): def listen(path, callback=None): + if not hasattr(socket, 'AF_UNIX'): + return False sock = socket.socket(socket.AF_UNIX) socket_file = os.path.join(path, address) try: @@ -116,3 +122,4 @@ def listen(path, callback=None): finally: sock.close() os.unlink(socket_file) + return True