Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sources.redhat.com/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sources.redhat.com/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com
Date: Fri, 7 Dec 2001 08:58:07 -0500
From: Jason Tishler <jason@tishler.net>
To: Michael Hudson <mwh@python.net>, david_abrahams@users.sourceforge.net
Cc: Cygwin <cygwin@sources.redhat.com>, Python-List <python-list@python.org>
Subject: Re: dll_list::load_after_fork() blues (was Re: [ python-Bugs-489709 ] Building Fails ...)
Message-ID: <20011207085807.A1152@dothill.com>
Mail-Followup-To: Michael Hudson <mwh@python.net>,
	david_abrahams@users.sourceforge.net,
	Cygwin <cygwin@sources.redhat.com>,
	Python-List <python-list@python.org>
Mime-Version: 1.0
Content-Type: multipart/mixed; boundary="Lk5/nsvc+X2NpcXl"
Content-Disposition: inline
In-Reply-To: <20011206124426.B1448@dothill.com>
User-Agent: Mutt/1.3.18i

--Lk5/nsvc+X2NpcXl
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

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

--Lk5/nsvc+X2NpcXl
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="setup.py.diff"

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


--Lk5/nsvc+X2NpcXl
Content-Type: text/plain; charset=us-ascii

--
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/
--Lk5/nsvc+X2NpcXl--
