Re: [perl #59680] Build error: tools/build/ops2pm.pl: Could not mkdir /home/moritz/src/parrot/lib/Parrot/OpLib: File exists!

[email protected] (Mark Glines)
Newsgroups perl.perl6.internals
Message-ID <[email protected]>
Will Coleda wrote:
> On Tue, Nov 25, 2008 at 2:18 PM, Mark Glines via RT
> <[email protected]> wrote:
>> On Sat Oct 18 12:13:51 2008, [email protected] wrote:
>>> There's a race condition, if that directory doesn't exist and multiple
>>> processes execute that code simultaneously.  Fortunately,
>>> Parrot::Ops2pm::print_module() creates that directly when it writes
>>> Parrot::OpLib::core -- the only file in that directory.
>>>
>>> Fixed in r32016.
>> Hi,
>>
>> I'm still seeing this race occur, about once every hundred builds.
>> r33196 contains a simple workaround (if mkpath failed, but the directory
>> now exists, someone else created it, so silently continue).
>>
>> Mark
> 
> Can we avoid this issue by just shipping an empty svn directory?

That's one possibility, maybe with a ".keep" file or whatever to keep 
git happy.  Another solution I considered is to make the ops rules in 
the Makefile depend on some "make-the-directory" rule, to keep the 
ordering straight.

However, r33196 seemed like the simplest possible solution, and it won't 
have any effect at all when the race condition didn't occur (which seems 
like about 99% of the time), so that's the one I checked in.  Feel free 
to revert it if a different solution is preferred.

Mark
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.