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()

_______________________________________________
Zope-Checkins maillist  -  Zope-Checkins@zope.org
http://mail.zope.org/mailman/listinfo/zope-checkins

Reply via email to