X-Recipient: archive-cygwin@delorie.com
X-Spam-Check-By: sourceware.org
Date: Wed, 18 Aug 2010 15:19:06 -0400
From: Christopher Faylor <cgf-use-the-mailinglist-please@cygwin.com>
To: cygwin@cygwin.com
Subject: Re: "run" changes behavior with cygwin-17.6
Message-ID: <20100818191906.GD22698@ednor.casa.cgf.cx>
Reply-To: cygwin@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
References: <380-220108318145158645@cantv.net> <20100818150920.GY11340@calimero.vinschen.de> <4C6C1490.3040202@cwilson.fastmail.fm> <4C6C1582.1080801@acm.org> <20100818182412.GA22698@ednor.casa.cgf.cx> <AANLkTikBTgg9M=xuZ4S2VkNU+Zr=hy3C=_Tr8BPj5baD@mail.gmail.com> <20100818185421.GC22698@ednor.casa.cgf.cx> <20100818191340.GB11340@calimero.vinschen.de>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20100818191340.GB11340@calimero.vinschen.de>
User-Agent: Mutt/1.5.20 (2009-06-14)
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
Precedence: bulk
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie.com@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 Wed, Aug 18, 2010 at 09:13:40PM +0200, Corinna Vinschen wrote:
>On Aug 18 14:54, Christopher Faylor wrote:
>> On Wed, Aug 18, 2010 at 07:32:40PM +0100, Andy Koppe wrote:
>> >On 18 August 2010 19:24, Christopher Faylor wrote:
>> >>>I noticed a similar change in cygstart, too. I used to have a script
>> >>>that would cd to a directory and then run cygstart. After the upgrade to
>> >>>1.7.6, this stopped working. I had to use the --directory switch to
>> >>>cygstart to get the right behavior.
>> >>
>> >> Call me dense but I don't understand why any changes are needed. ??If
>> >> you're cd'ed to a non-Cygwin-special location why doesn't stuff "just
>> >> work"?
>> >
>> >The Win32 working directory is changed to '\\?\PIPE\' at process
>> >startup, otherwise the working directory can't be deleted from under
>> >the process, which you can do on Linux.
>> 
>> Yes, I guess I did not properly appreciate the fact that we presumably
>> broke every CreateProcess call in a cygwin program when we did this.
>> While I'm on record about not caring too much about that scenario, it
>> seems meaner than usual for us to break this since the report which
>> caused the recent change was from someone calling CreateProcess in a
>> cygwin program.
>> 
>> But, anyway, since we have broken this, I don't think we should force
>> every user of CreateProcess to call CYGWIN_CONV_TO_POSIX_PATH.  We
>> probably should add an internal interface which sets the current working
>> directory for windows if it can.
>
>I'm going to add a new call
>
>  cygwin_internal (CW_SYNC_WINCWD);
>
>which will do the same for the CWD as
>
>  cygwin_internal (CW_SYNC_WINENV);

Actually I just checked in "CW_SETCWD" which just calls
SetCurrentDirectoryW.  I was just going to request trying a snapshot
when I saw your message.

>already does for the environment.  Dropping the environment had roughly
>the same consequences way back when, after all.

Except that not every program uses the windows environment.  This affects
quite a few native windows calls.

cgf

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

