X-Spam-Check-By: sourceware.org
Date: Tue, 16 Jan 2007 12:58:38 -0500
From: Christopher Faylor <cgf-use-the-mailinglist-please@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: Cygwin Python/PIL TCL/TK fork rebase solution
Message-ID: <20070116175838.GB14405@trixie.casa.cgf.cx>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <87ejpvluvj.fsf@superfluity.lefae.org> <3D1F5241A4BA56B7EBA1D30B@qjunbur.quns.cam.ac.uk> <45ACC59F.397A6589@dessent.net> <45ACCBEF.49170261@dessent.net> <C997D9C1A0EA00B6C5A47F1F@qjunbur.quns.cam.ac.uk>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <C997D9C1A0EA00B6C5A47F1F@qjunbur.quns.cam.ac.uk>
User-Agent: Mutt/1.5.11
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
Precedence: bulk
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

On Tue, Jan 16, 2007 at 05:50:06PM +0000, Robin Walker wrote:
>For this to be the problem it appears to be, I'm guessing that there must 
>be some shortcoming in the Windows APIs in this area when compared with 
>facilities available within other Posix-compliant OSs.

It isn't a shortcoming at all.  Windows is perfectly within its rights
to put DLLs whereever it wants.  Windows doesn't implement fork() so it
doesn't have to worry about creating a new process whose addresss space
is a carbon copy of another process.

>How does Linux deal with the same issues of having libraries (or whatever 
>are logically equivalent to DLLs) potentially linked at different bases in 
>the two address spaces?

fork() is part of the OS in Linux and the fork() function is absolutely
intrinsic and necessary for anything on Linux or UNIX to work correctly.
It doesn't have to deal with anything like this since a fork is in the
low level of the OS, not in a library running in an application.

cgf

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

