[Zope-Checkins] CVS: Zope/lib/python/Signals - Signals.py:1.2.4.8

Chris McDonough chrism@zope.com
Sat, 26 Oct 2002 15:52:16 -0400


Update of /cvs-repository/Zope/lib/python/Signals
In directory cvs.zope.org:/tmp/cvs-serv31373/lib/python/Signals

Modified Files:
      Tag: chrism-install-branch
	Signals.py 
Log Message:
Merge with HEAD.  Again, sorry for the spew (what's left of it... someone seems to have filtered some of this branch's checkins out).


=== Zope/lib/python/Signals/Signals.py 1.2.4.7 => 1.2.4.8 ===
--- Zope/lib/python/Signals/Signals.py:1.2.4.7	Wed Oct  9 00:57:33 2002
+++ Zope/lib/python/Signals/Signals.py	Sat Oct 26 15:51:45 2002
@@ -15,10 +15,8 @@
 
 $Id$
 """
-
 __version__='$Revision$'[11:-2]
 
-
 from zdaemon.SignalHandler import SignalHandler
 import zLOG
 import sys
@@ -59,6 +57,8 @@
     zLOG.LOG('Z2', zLOG.INFO, "Log files reopened successfully")
 
 def packHandler():
+    """ Packs the main database.  Not safe to call under a signal
+    handler, because it blocks the main thread """
     zLOG.LOG('Z2', zLOG.INFO, 'Packing main ZODB database')
     import Globals
     try:
@@ -87,4 +87,8 @@
     SignalHandler.registerHandler(signal.SIGINT, shutdownHandler)
     SignalHandler.registerHandler(signal.SIGHUP, restartHandler)
     SignalHandler.registerHandler(signal.SIGUSR2, logfileReopenHandler)
-    SignalHandler.registerHandler(signal.SIGUSR1, packHandler)
+    # SIGUSR1 is nominally reserved for pack, but we dont have an
+    # implementation that is stable yet because if the signal handler
+    # fires it will be caught in the main thread and all network operations
+    # will cease until it's finished.
+    #SignalHandler.registerHandler(signal.SIGUSR1, packHandler)