[Zope-Checkins] CVS: Packages/Zope/Startup - zopectl.py:1.3.2.14

Stefan H. Holek stefan at epy.co.at
Mon Jan 16 02:56:33 EST 2006


Update of /cvs-repository/Packages/Zope/Startup
In directory cvs.zope.org:/tmp/cvs-serv11639/lib/python/Zope/Startup

Modified Files:
      Tag: Zope-2_7-branch
	zopectl.py 
Log Message:
Backported fix for #1904.


=== Packages/Zope/Startup/zopectl.py 1.3.2.13 => 1.3.2.14 ===
--- Packages/Zope/Startup/zopectl.py:1.3.2.13	Thu Aug  4 16:52:50 2005
+++ Packages/Zope/Startup/zopectl.py	Mon Jan 16 02:56:32 2006
@@ -296,5 +296,13 @@
     #   If it is not reset, 'os.wait[pid]' can non-deterministically fail.
     #   Thus, use a way such that "SIGCHLD" is definitely reset in children.
     #signal.signal(signal.SIGCHLD, signal.SIG_IGN)
-    signal.signal(signal.SIGCHLD, _ignoreSIGCHLD)
+    if os.uname()[0] != 'Darwin':
+        # On Mac OS X, setting up a signal handler causes waitpid to
+        # raise EINTR, which is not preventable via the Python signal
+        # handler API and can't be dealt with properly as we can't pass
+        # the SA_RESTART to the signal API. Since Mac OS X doesn't
+        # appear to clutter up the process table with zombies if
+        # SIGCHILD is unset, just don't bother registering a SIGCHILD
+        # signal handler at all.
+        signal.signal(signal.SIGCHLD, _ignoreSIGCHLD)
     main()



More information about the Zope-Checkins mailing list