summaryrefslogtreecommitdiffstats
path: root/xlators/features/marker/utils/syncdaemon/gsyncd.py
diff options
context:
space:
mode:
authorCsaba Henk <csaba@gluster.com>2011-04-13 01:46:05 +0000
committerAnand Avati <avati@gluster.com>2011-04-13 04:43:06 -0700
commite5c38128fa76b3e11047d49448aab77d3a551804 (patch)
tree749ec60fc891e1430a9d7bac112a9d660a4bc106 /xlators/features/marker/utils/syncdaemon/gsyncd.py
parent13d1856a40122008dee35a96771f832945c220f8 (diff)
syncdaemon: force termination for unhandled exception in any thread
Signed-off-by: Csaba Henk <csaba@gluster.com> Signed-off-by: Anand Avati <avati@gluster.com> BUG: 2736 (gsyncd hangs if crash occurs in the non-main thread) URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2736
Diffstat (limited to 'xlators/features/marker/utils/syncdaemon/gsyncd.py')
-rw-r--r--xlators/features/marker/utils/syncdaemon/gsyncd.py4
1 files changed, 1 insertions, 3 deletions
diff --git a/xlators/features/marker/utils/syncdaemon/gsyncd.py b/xlators/features/marker/utils/syncdaemon/gsyncd.py
index 140a8283d..46819aa65 100644
--- a/xlators/features/marker/utils/syncdaemon/gsyncd.py
+++ b/xlators/features/marker/utils/syncdaemon/gsyncd.py
@@ -159,9 +159,7 @@ def finalize(*a):
sys.stderr.flush()
def main():
- # ??? "finally" clause does not take effect with SIGTERM...
- # but this handler neither does
- # signal.signal(signal.SIGTERM, finalize)
+ signal.signal(signal.SIGTERM, lambda *a: (finalize(*a), os._exit(1)))
GLogger.setup()
exval = 0
try: