X-Spam-Check-By: sourceware.org Message-ID: <459133CB.3080102@ukf.net> Date: Tue, 26 Dec 2006 14:38:03 +0000 From: Max Bowsher Reply-To: cygwin AT cygwin DOT com User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.12) Gecko/20050923 Thunderbird/1.0.7 MIME-Version: 1.0 To: cygwin AT cygwin DOT com Subject: Re: Updated cygwin dlls cause unnecessary reboot on NT References: <458EE598 DOT 3010404 AT aim DOT com> <458F31B1 DOT 6050804 AT byu DOT net> <458F81CC DOT 3090500 AT tlinx DOT org> <458FDC4E DOT 9040505 AT cygwin DOT com> <458FEC2E DOT 70705 AT tlinx DOT org> <45902BC4 DOT 50803 AT tlinx DOT org> <4590BD4E DOT 5020905 AT cygwin DOT com> <45910426 DOT 9030603 AT tlinx DOT org> In-Reply-To: <45910426.9030603@tlinx.org> OpenPGP: id=C0F2C580 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="------------enig709F3012DBA7802EA724A330" X-IsSubscribed: yes Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com --------------enig709F3012DBA7802EA724A330 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Linda Walsh wrote: > The fix I proposed has nothing to do with the cygwin1.dll. As has > been covered previously, since cygwin1.dll and a few other libs are > part of the cygwin "kernel", special handling may be needed to upgrade > those dll's. What can be fixed is the installation of .exe and .dll > files for > applications. The behavior of those should be the same as replacing > in-use .so's and executables on *nix. I believe there is a critical element you have missed. In order to perform the rather miraculous emulation of fork(), Cygwin needs to reload all the same DLLs that are operating in one process into another newly created process. Updating the DLL files on disk whilst processes are using them prevents this from happening. For a simple demonstration of this: * Start a bash shell * Rename any of the DLLs used by bash to something else * Try to execute any non-builtin command * See the fork failure message Could this be worked around? Perhaps. Is it likely to happen? No, the benefit-to-work ratio is too low. Max. --------------enig709F3012DBA7802EA724A330 Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.5 (Cygwin) iD8DBQFFkTPUfFNSmcDyxYARAgLhAJ0V4U60zSjgIpAREjSqXBqMTdJWWgCg13Co Q9zfya3OZTRceZU/RfsEso8= =HnEc -----END PGP SIGNATURE----- --------------enig709F3012DBA7802EA724A330--