delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2006/12/25/14:52:06

X-Spam-Check-By: sourceware.org
Message-ID: <45902BC4.50803@tlinx.org>
Date: Mon, 25 Dec 2006 11:51:32 -0800
From: Linda Walsh <cygwin AT tlinx DOT org>
User-Agent: Thunderbird 1.5.0.9 (Windows/20061207)
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> <Pine DOT GSO DOT 4 DOT 63 DOT 0612251346240 DOT 27982 AT access1 DOT cims DOT nyu DOT edu>
In-Reply-To: <Pine.GSO.4.63.0612251346240.27982@access1.cims.nyu.edu>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.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

Igor Peshansky wrote:
> And that is exactly the problem -- not the .new suffixes.  The way Cygwin
> is designed, you cannot have two versions of the Cygwin DLL (think of it
> as the kernel) in use at the same time, no matter what the name is.  In
> Linux, you expect to reboot when upgrading the kernel -- why are you
> surprised that the same happens in Cygwin?
---
	Not all DLL's replaced during setup are CygwinX.DLL.  A majority are
not part of the "cyg-kernel".  I know the problem is in Cygwin.  Some
believe, falsely, that the problem is in Windows.  It is not.

> Oh, but it *is* in Cygwin.
----
	If I am updating cygwin1.dll, fine -- but that is _USUALLY_ not
the case.  It's a *special* case.


>> If you need any more explanation of how to implement this...
> 
> I think pretty much everyone knows how to implement this.  

Apparently not.  Upgrading any DLL requires rebooting when, from what you
say, the problem only is in upgrading Cygwin1.dll (and maybe a couple
of others).


The problem
> that needs to be solved is how to do this without allowing the user to
> have more than 1 version of cygwin1.dll in memory at the same time.
> 
> If you can figure this one out, feel free to submit a patch to Cygwin
> setup that implements the behavior you suggest.  I don't see why it can't
> work for any libraries other than cygwin1.dll (and maybe a couple of
> others).  However, I doubt that any patch that special-cases the DLL by
> name will be accepted.
---
	Of course, why would we want to allow updating applications without
a reboot like on linux -- as you mention.  If we upgrade the kernel, we must
reboot, but on linux, one can upgrade the applications without rebooting.

	FWIW, I have replaced the libs like cygwin1.dll, cygintl?.dll...
and such while cygwin is running and not had a catastrophe as one might have
trying to overwrite/update the memory image of a kernel dynamically, so I
don't think it's quite all the end of the world you make it out to be.  But
I admit it doesn't sound clean.

	It is, however, quite ludicrous to force a linux-reboot everytime
someone upgrades an application like bash or vim.

	I'd make suggestions for upgrading cygwin.dll live, but my ideas
seem entirely too silly to mention right now...:-)

-l



--
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