X-Recipient: archive-cygwin@delorie.com
X-SWARE-Spam-Status: No, hits=-2.6 required=5.0 	tests=AWL,BAYES_00
X-Spam-Check-By: sourceware.org
X-Cloudmark-SP-Filtered: true
X-Cloudmark-SP-Result: v=1.0 c=1 a=kCKDY91tEBMc+hi4YtGk8Q==:17 a=D2wpsneiPbm1c1XpqiUA:9  a=pX_WJ2wZT2U0qD6Xi8vCzh1AaM8A:4
Message-ID: <4B4A1032.9030201@monai.ca>
Date: Sun, 10 Jan 2010 09:36:50 -0800
From: Steven Monai <steve+cygwin@monai.ca>
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.5) Gecko/20091204 Thunderbird/3.0
MIME-Version: 1.0
To: cygwin@cygwin.com
Subject: Re: Update problems
References: <web-28750510@remus.csulb.edu>  <4B46A4C3.2000803@cygwin.com>  <4B47986F.2020609@t-online.de>  <4B47B3FA.1010101@cygwin.com>  <4B47DBAE.5000901@monai.ca> <20100109100941.GL23992@calimero.vinschen.de>
In-Reply-To: <20100109100941.GL23992@calimero.vinschen.de>
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 7bit
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.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 2010/01/09 2:09 AM, Corinna Vinschen wrote:
> On Jan  8 17:28, Steven Monai wrote:
>> Not to beat a dead hippo here, but if Cygwin allows in-use files to be
>> replaced, then what is 'setup.exe' needed for? (Aside from the initial
>> bootstrap of Cygwin, of course.) Shouldn't it be possible to have proper
>> package management---like dpkg, apt, rpm, yum, etc---from within Cygwin now?
> 
> The most pressing problem is the replacement of the cygwin DLL itself.
> It's like installing a new kernel in Linux.  However, in Linux you have
> to reboot to use the new kernel, while Cygwin is just a DLL.  After the
> rename and replace operation, existing processes will use the old DLL
> while new processes will use the new DLL.  This is bound to break and
> there's no clean way to do it, except to replace the Cygwin DLL while no
> other Cygwin process is running.

Could a Cygwin-specific package manager treat the cygwin DLL as a
special case? Instead of immediately replacing the cygwin DLL file (as
it would normally do for any other DLL), the package manager could use
the Windows "schedule-a-delete/rename-on-reboot" facility to arrange for
the DLL's replacement at the next reboot. Thus there would never be more
than one version of the cygwin DLL loaded at any given time.

-SM
--

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

