From f7e8990108939ecadcda8e66d8886d51bf16a2ce Mon Sep 17 00:00:00 2001
From: Moritz Huebner <moritz.huebner@ligo.org>
Date: Thu, 23 Apr 2020 18:59:46 -0500
Subject: [PATCH] Catch signal error in dynesty

---
 bilby/core/sampler/dynesty.py | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/bilby/core/sampler/dynesty.py b/bilby/core/sampler/dynesty.py
index 688efc417..9926a3451 100644
--- a/bilby/core/sampler/dynesty.py
+++ b/bilby/core/sampler/dynesty.py
@@ -166,9 +166,15 @@ class Dynesty(NestedSampler):
         self.sampling_time = datetime.timedelta()
         self.exit_code = exit_code
 
-        signal.signal(signal.SIGTERM, self.write_current_state_and_exit)
-        signal.signal(signal.SIGINT, self.write_current_state_and_exit)
-        signal.signal(signal.SIGALRM, self.write_current_state_and_exit)
+        try:
+            signal.signal(signal.SIGTERM, self.write_current_state_and_exit)
+            signal.signal(signal.SIGINT, self.write_current_state_and_exit)
+            signal.signal(signal.SIGALRM, self.write_current_state_and_exit)
+        except AttributeError:
+            logger.debug(
+                "Setting signal attributes unavailable on this system. "
+                "This is likely the case if you are running on a Windows machine"
+                " and is no further concern.")
 
     def __getstate__(self):
         """ For pickle: remove external_sampler, which can be an unpicklable "module" """
-- 
GitLab