[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: [PATCH] close racecondition with make -j in header_wrappers.py

From: David Glasser <glasser_at_davidglasser.net>
Date: Fri, 1 Feb 2008 14:24:06 -0800

On Jan 29, 2008 12:15 PM, Peter Samuelson <peter_at_p12n.org> wrote:
>
> [David Glasser]
> > Ah, no wonder it fails for me if I put my swig commands under -j.
> > I'm not too familiar with the SWIG generation process, though; can
> > another commiter review this? Why would "make" be trying to write
> > the same file multiple times anyway? That seems wrong.
>
> From what I can see, it's not that the make process is writing the same
> file multiple times: it is that the output files in question are
> dependencies of other make targets. If your make is threaded, one
> thread might notice a file's existence and decide to build other
> targets that depend on it - even if another thread is still writing to
> the original file. By writing to a different filename then renaming it
> atomically, this won't happen.
>
> ...Though this does seem like it would be a common race condition with
> all kinds of build processes. Perhaps 'make -j' tries to avoid the
> situation, but is thwarted by recursive $(MAKE) invocation, or
> something.

I'd like to see this issue fixed, but I'd still like to see somebody
explain why the same file is being generated multiple times by make
-j... It seems like the right solution would be to not make our build
process do extra work!

--dave

-- 
David Glasser | glasser@davidglasser.net | http://www.davidglasser.net/
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe_at_subversion.tigris.org
For additional commands, e-mail: dev-help_at_subversion.tigris.org
Received on 2008-02-01 23:24:17 CET

This is an archived mail posted to the Subversion Dev mailing list.