Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm 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 Date: Thu, 7 Oct 2004 13:33:17 -0400 From: Christopher Faylor To: cygwin AT cygwin DOT com Subject: Re: Add requirement for SYSTEMROOT to FAQ? Message-ID: <20041007173317.GF14536@trixie.casa.cgf.cx> Reply-To: cygwin AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com References: <20041007015310 DOT GA5938 AT trixie DOT casa DOT cgf DOT cx> <20041007082053 DOT GB21753 AT cygbert DOT vinschen DOT de> <20041007145234 DOT GG7398 AT trixie DOT casa DOT cgf DOT cx> <20041007170723 DOT GS6702 AT cygbert DOT vinschen DOT de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20041007170723.GS6702@cygbert.vinschen.de> User-Agent: Mutt/1.4.1i On Thu, Oct 07, 2004 at 07:07:23PM +0200, Corinna Vinschen wrote: >On Oct 7 10:52, Christopher Faylor wrote: >> On Thu, Oct 07, 2004 at 10:20:53AM +0200, Corinna Vinschen wrote: >> >On Oct 6 21:53, Christopher Faylor wrote: >> >> Or, even better yet, Corinna could we force SYSTEMROOT to be used >> >> somehow but masked if someone removes it from the environment? >> > >> >Hmm, usually applications which suffer from a missing SYSTEMROOT are >> >spawned by a parent process which has explicitely created a new >> >environment block for the child and then calls execvp. So the new >> >child is already missing SYSTEMROOT on process startup. What about >> >always adding SYSTEMROOT to the windows env created in build_env, >> >if it's missing? >> >> That's what I was thinking. And then lying about its existence if >> someone queries the environment via getenv and SYSTEMROOT is "not >> supposed to be there". >> >> What an amazingly lame requirement... > >Why is that a requirement anyway? Why is it necessary to hide >$SYSTEMROOT? I don't see a reason for that? I was talking about the need for SYSTEMROOT being lame. I was theorizing that some program might become confused if it did something like: 1) Wipe out everything from the environment 2) Check the environment 3) Hey! The environment isn't empty after I tried to empty it! ABORT!!! ABORT!!! ABORT!!! However, since cygwin is *already* trying to do the right thing with SYSTEMROOT, and already keeps other things in the environment even after someone says to nuke them, all that is required is a little extra caching of the SYSTEMROOT environment variable. That's how I was going to handle this. 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/