Subject: Re: dll_list::load_after_fork() blues (was Re: [ python-Bugs-489709 ] Building Fails ...)
From: Jason Tishler <[email-masked]>
To: Michael Hudson <[email-masked]>, [email-masked]
Cc: Cygwin <[email-masked]>, Python-List <[email-masked]>
Date: Fri, 7 Dec 2001 08:58:07 -0500

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
--- 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:

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/