[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#10470: MSYS: race in directory access?
From: |
Stefano Lattarini |
Subject: |
bug#10470: MSYS: race in directory access? |
Date: |
Thu, 12 Jan 2012 10:15:36 +0100 |
On 01/11/2012 08:27 PM, Peter Rosin wrote:
> Stefano Lattarini skrev 2012-01-11 18:31:
>> Hi Peter, sorry for the delay.
>
> No rush!
>
>>>>>> We could enhance your original workaround like this:
>>>>>>
>>>>>> am__remove_distdir = \
>>>>>> { test ! -d "$(distdir)" \
>>>>>> || { find "$(distdir)" -type d ! -perm -200 -exec chmod u+w {} ';' \
>>>>>> - && rm -fr "$(distdir)"; }; }
>>>>>> + && if rm -fr "$(distdir)"; then :; else \
>>>>>> +## On MSYS (1.0.17) it is not possible to remove a directory that is
>>>>>> +## in use; so, if the first rm fails, we sleep some seconds and retry,
>>>>>> +## to give pending processes some time to exit and "release" the
>>>>>> +## directory before we removed. See automake bug#10470.
>>>>>> + sleep 5 && rm -fr "$(distdir)"; fi; }; }
>>>>>> am__post_remove_distdir = $(am__remove_distdir)
>>>>>> endif %?TOPDIR_P%
>>>>
>>>>> This works, best so far! Committable, if you ask me.
>>>>>
>>>
>> Could you try the attached test case to see if it can reliably expose the
>> problem on MSYS/MinGW? If yes, I'll prepare a patch shortly.
>
> If I (try to) mend the race (the "rm -rf foo.d" reliably beats the "cd foo.d"
> in the subshell) by adding a "sleep 1" before the "rm -rf foo.d"
>
Thanks for the info, I've amend the test accordingly.
> So, I guess no, the probelm is not exposed by the test.
>
> Did you mean "$my_sleep &" in the foo.test script?
>
Yes, I did; sorry for the sloppiness.
> If add that &, the test fails in much the same way as we've seen previously
> in this bug report.
>
Good!
Attached is the proposed patch series: the first patch should expose the bug,
the second patch should fix it. I will apply them once I have confirmation
the bug is correctly exposed and fixed.
Thanks,
Stefano.
0001-coverage-expose-automake-bug-10470-distcheck-related.patch
Description: Text Data
0002-dist-avoid-distdir-removal-failure-on-MSYS-MinGW.patch
Description: Text Data
- bug#10470: MSYS: race in directory access?, (continued)
- bug#10470: MSYS: race in directory access?, Peter Rosin, 2012/01/10
- bug#10470: MSYS: race in directory access?, Stefano Lattarini, 2012/01/10
- bug#10470: MSYS: race in directory access?, Eric Blake, 2012/01/10
- bug#10470: MSYS: race in directory access?, Peter Rosin, 2012/01/10
- bug#10470: MSYS: race in directory access?, Stefano Lattarini, 2012/01/10
- bug#10470: MSYS: race in directory access?, Peter Rosin, 2012/01/10
- bug#10470: MSYS: race in directory access?, Stefano Lattarini, 2012/01/10
- bug#10470: MSYS: race in directory access?, Peter Rosin, 2012/01/10
- bug#10470: MSYS: race in directory access?, Stefano Lattarini, 2012/01/11
- bug#10470: MSYS: race in directory access?, Peter Rosin, 2012/01/11
- bug#10470: MSYS: race in directory access?,
Stefano Lattarini <=
- bug#10470: MSYS: race in directory access?, Peter Rosin, 2012/01/12
- bug#10470: MSYS: race in directory access?, Stefano Lattarini, 2012/01/13
- bug#10470: MSYS: race in directory access?, Peter Rosin, 2012/01/13
- bug#10470: MSYS: race in directory access?, Stefano Lattarini, 2012/01/13