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

Reply via email to