On 2/3/19 12:19 PM, Corinna Vinschen wrote:
> On Jan 31 20:48, Corinna Vinschen wrote:
>> On Jan 31 09:47, Michael Haubenwallner wrote:
>>> Hi Corinna,
>>>
>>> I'm missing that topic/forkables branch in the announcement - is that in?
>>> https://cygwin.com/ml/cygwin-patches/2017-q1/msg00053.html
>>
>> No, it's not.  It hasn't been touched for almost two years so I forgot
>> about it.
>>
>> Does it still apply to current mainline?  Will it still work correctly
>> in conjunction with the Windows 10 1709/1803/1809 changes in terms of
>> deleting and renaming files?

Independent of topic/forkables: With Cygwin 3.0.0 replacing/removing an
exe or dll in use does fail on Server 2019 while it does succeed on 2012.
The error messages on Server 2019 is 'Permission denied'.

Cygwin 2.11.2 does "remove" (to trash) a dll in use on both 2012 and 2019.

Attached is the mv.strace from the commands below on both 2012 and 2019,
with Server 2019 being a default install from scratch with GUI, but without
anything extra - hence without the WSL anywhere.

Use the commands below to see the difference between 2.11.2 and 3.0.0.

>>
>> More importantly, I'm not confident to maintain this code alone since it
>> won't be used most of the time and it adds a heck of complexity to
>> handle a border case.  Will you be available to maintain this code for
>> the forseeable future?  If not, the code won't go in, sorry.
> 
> I rebased the topic/forkable branch on top of master.  There were only
> some minor conflicts which I have fixed correctly I hope.  Please give
> it a thorough try.

Cygwin 3.0.0 + topic/forkables does work on Server 2012 as expected,
as well as for Server 2019 for when a wrong dll is found in the CWD.
Cannot test against removing a dll-in-use as long removing a dll-in-use
does not work.

Cygwin 2.11.2 + topic/forkables still does work on Server 2019.

These commands can be used for both with and without topic/forkables:
$ mkdir test-cygfork
$ cp /bin/bash /bin/cygiconv-2.dll test-cygfork/
$ cp /another/build/of/cygiconv-2.dll test-cygfork/cygiconv-2.dll.new
$ ./test-cygfork/bash -c '( for x in {1..5}; do find /var/run/cygfork; sleep 1; 
done )' &
$ strace -o mv.strace mv -f test-cygfork/cygiconv-2.dll.new 
test-cygfork/cygiconv-2.dll

/haubi/

Attachment: mv.strace-2019.xz
Description: application/xz

Attachment: mv.strace-2012.xz
Description: application/xz

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

Reply via email to