Mailing-List: contact cygwin-developers-help AT sourceware DOT cygnus DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-developers-owner AT sourceware DOT cygnus DOT com Delivered-To: mailing list cygwin-developers AT sourceware DOT cygnus DOT com Date: Thu, 1 Jun 2000 11:56:22 -0400 Message-Id: <200006011556.LAA08331@envy.delorie.com> From: DJ Delorie To: earnie_boyd AT yahoo DOT com CC: cygwin-developers AT sourceware DOT cygnus DOT com In-reply-to: <20000601123822.6434.qmail@web109.yahoomail.com> (message from Earnie Boyd on Thu, 1 Jun 2000 05:38:22 -0700 (PDT)) Subject: Re: prelim FAQ update: Installation Instructions References: <20000601123822 DOT 6434 DOT qmail AT web109 DOT yahoomail DOT com> > Nice changes DJ. What happens if a Cygwin process is active when > setup is executed? Nothing, I hope. I got rid of all the embedded .exe's, leaving only cygwin1.dll. Setup saves that as "setup-cygwin1.dll" and uses LoadLibrary to load it, after setting up the environment so that the DLL goes into "testsuite mode". That will prevent it from using the shared memory area. It then hooks all the cygwin functions it needs (mount, getmntent, etc) and calls them directly. Since the DLL isn't sharing memory, the new mounts won't even effect running programs until all of them exit and restart, which will load the new mount table into memory. Also, since tar is now built-in, I can defer messing with the mount table until the very last thing, so if anything goes wrong with the install your old mount table is still there.