dll_list::load_after_fork() blues (was Re: [ python-Bugs-489709 ] Building Fails ...)

Jason Tishler jason at tishler.net
Fri Dec 7 08:58:07 EST 2001


The ASSume principle applies once again...

On Thu, Dec 06, 2001 at 12:44:26PM -0500, Jason Tishler wrote:
> I have just reproduced this build problem with Python 2.2b2 too.  However,
> I don't believe that it is related to the particular Python version one
> attempts to build.

Actually, setup.py has been enhanced to check the validity of each
module by importing it during the build problem.  Hence, the probability
of a DLL address clash during fork has increased significantly.  The
attached patch workarounds this problem.

I intend to submit this patch (redone against CVS) to the Python patch
collector ASAP so that Python 2.2 does not go out the door on 12/19 busted
for Cygwin.  If you have any objections or better solutions, please speak
up sooner rather than later.

Note that I still intend to fix the Cygwin Python fork problem, if
possible.  Hopefully, this workaround will be only temporary.

Jason
-------------- next part --------------
--- setup.py.orig	Fri Dec  7 08:21:56 2001
+++ setup.py	Fri Dec  7 08:31:21 2001
@@ -159,6 +159,11 @@
         if 'Carbon' in ext.extra_link_args:
         	self.announce('WARNING: skipping import check for Carbon-based "%s"' % ext.name)
         	return
+        # Workaround for Cygwin: Cygwin currently has fork issues when many
+        # modules have been imported
+        if self.get_platform() == 'cygwin':
+        	self.announce('WARNING: skipping import check for Cygwin-based "%s"' % ext.name)
+        	return
         try:
             __import__(ext.name)
         except ImportError:


More information about the Python-list mailing list