GNU bug report logs -
#10470
MSYS: race in directory access?
Previous Next
Reported by: Peter Rosin <peda <at> lysator.liu.se>
Date: Mon, 9 Jan 2012 23:09:01 UTC
Severity: minor
Tags: patch
Done: Stefano Lattarini <stefano.lattarini <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
>> It would probably be worthwhile to try to understand why this is the case.
>> As a wild guess, would this work?
>>
>> - ( sleep 1 ) &
>> + sh -c "cd '$abs_builddir'; sleep 1" &
>
> No, fails in the same way as the original.
>
Sorry, by bad, I meant this: sh -c "cd '$ac_abs_srcdir'; sleep 1"
>> 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.
>
I agree, but first I'd like to see if we manage to resolve the issue into
sanity.m4 itself. If we fail, the above workaround will be good enough.
Thanks,
Stefano
This bug report was last modified 13 years and 134 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.