From 33c768ebe414c2a2f93a8b8f8637e02b387bb7ea Mon Sep 17 00:00:00 2001 From: Philipp Moritz Date: Wed, 20 Nov 2019 11:14:28 -0800 Subject: [PATCH] Fix worker signal.SIGTERM handler being installed from outside the main thread (#6176) --- python/ray/worker.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/python/ray/worker.py b/python/ray/worker.py index 0903c9db1..e4d64388d 100644 --- a/python/ray/worker.py +++ b/python/ray/worker.py @@ -846,7 +846,11 @@ def sigterm_handler(signum, frame): sys.exit(signal.SIGTERM) -signal.signal(signal.SIGTERM, sigterm_handler) +try: + signal.signal(signal.SIGTERM, sigterm_handler) +except ValueError: + logger.warning("Failed to set SIGTERM handler, processes might" + "not be cleaned up properly on exit.") # Define a custom excepthook so that if the driver exits with an exception, we # can push that exception to Redis.