delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2009/03/09/10:15:50

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 <cgf-use-the-mailinglist-please AT cygwin DOT com>
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
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
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
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/

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019