X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org Date: Mon, 9 Mar 2009 11:15:15 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: Replacing setup.exe and cygcheck with dpkg (Was: Re: cygcheck typo in both manpage and --help) Message-ID: <20090309151515.GA14910@ednor.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <5c01594c0903081410n548fdb1ewbb43692129942901 AT mail DOT gmail DOT com> <20090308211548 DOT GA8625 AT ednor DOT casa DOT cgf DOT cx> <49B457E7 DOT 3010406 AT dazjorz DOT com> <20090309014539 DOT GB8625 AT ednor DOT casa DOT cgf DOT cx> <20090309064422 DOT GD6875 AT trikaliotis DOT net> <416096c60903090255m1e21f14dw94624232c94d6f61 AT mail DOT gmail DOT com> <20090309102152 DOT GS31459 AT calimero DOT vinschen DOT de> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20090309102152.GS31459@calimero.vinschen.de> User-Agent: Mutt/1.5.16 (2007-06-09) Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: 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 On Mon, Mar 09, 2009 at 11:21:52AM +0100, Corinna Vinschen wrote: >On Mar 9 09:55, Andy Koppe wrote: >> Spiro Trikaliotis: >> > You can replace a running exe (or dll) by doing the following: >> > >> > 1. rename the .DLL or .EXE >> >> Are you sure that's possible? I'd expect Windows to complain loudly at >> that point. > >You can in theory, but that won't work reliably for subsequent Cygwin >processes. If you replace a running processes' executable with a new >release, and if that process is one of the forking kind, every >subsequent call to fork() will break. If you replace the Cygwin DLL >with a new release on the fly, then *any* subsequent fork() will almost >surely break. Right. And that has been the main reason why writing an installer which uses Cygwin is problematic. I've been using the "rename the dll or executable" technique for about ten years to install a newly-compiled version of cygwin1.dll on a system with a running version of cygwin. However, this hoses any running processes and it even makes running any cygwin processes flaky until all processes which use the old DLL have been shut down. 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/