diff mercurial/dispatch.py @ 10962:8d5f5122a732

Merge with stable
author Matt Mackall <mpm@selenic.com>
date Mon, 19 Apr 2010 17:00:02 -0500
parents 8f4c95368313 6c2c766afefe
children 355a7535bcac
line wrap: on
line diff
--- a/mercurial/dispatch.py	Fri Apr 16 23:59:43 2010 +0200
+++ b/mercurial/dispatch.py	Mon Apr 19 17:00:02 2010 -0500
@@ -33,10 +33,13 @@
     def catchterm(*args):
         raise error.SignalInterrupt
 
-    for name in 'SIGBREAK', 'SIGHUP', 'SIGTERM':
-        num = getattr(signal, name, None)
-        if num:
-            signal.signal(num, catchterm)
+    try:
+        for name in 'SIGBREAK', 'SIGHUP', 'SIGTERM':
+            num = getattr(signal, name, None)
+            if num:
+                signal.signal(num, catchterm)
+    except ValueError:
+        pass # happens if called in a thread
 
     try:
         try: