Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <01fc01c17f74$0d774a20$0200a8c0@lifelesswks> From: "Robert Collins" To: "Charles Wilson" , "Jason Tishler" Cc: "Michael Hudson" , , "Cygwin" References: <20011206124426 DOT B1448 AT dothill DOT com> <3C0FB399 DOT 2020300 AT ece DOT gatech DOT edu> Subject: Re: dll_list::load_after_fork() blues (was Re: [ python-Bugs-489709 ] Building Fails ...) Date: Sat, 8 Dec 2001 10:08:14 +1100 MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook Express 6.00.2600.0000 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 X-OriginalArrivalTime: 07 Dec 2001 23:08:11.0875 (UTC) FILETIME=[0AE44330:01C17F74] ----- Original Message ----- From: "Charles Wilson" > > The above occurs during Cygwin's fork() when the Cygwin DLL cannot > > load a DLL to the same address in the child that it had in the parent. > > I have seen this during Python 2.1.1 regression tests with threads > > enabled. > > > Part of the problem may be that cyggdbm.dll was built with > --auto-image-base. It was later demonstrated that this can cause > problems with fork; you're better off just letting ld assign the default > dllbase, which means that EVERY process will remap the dll at runtime. > Thus, no hardcoded conflicts. Downside: *very* slightly delay in > loading DLLs -- probably unnoticeable. > > (Did I get that right, robert?) Yes. There is actually a longer term solution... which is to 'rebase' every cygwin linked .dll on a particular system to not conflict with each other - which has to be done by setup.exe. Rob > Anyway, I plan to redo cyggdbm "eventually" without the > --auto-image-base. Doing so *may* fix this problem, but I'm not sure... > > --Chuck > > > > > > > -- > 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/ > > -- 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/