Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/arch

On Thu, May 27, 2010 at 11:12:57PM +0900, Izumi Tsutsui wrote:
 > > Introduce .WAIT into the cleandir rule for blasting the
 > > libsa/libkern/etc.  trees, because it can race with the
 > > libsa/libkern/etc. makefiles' own cleandir rules. I think I've
 > > found all of the uses of the offending idiom...  Closes PR 43360.
 > Does it really affect all these ports?


 > Isn't it i386/stand/bootxx specific issue?


 > I think the problem is that i386/stand/bootxx shares
 > one common LIBOBJ among multiple bootxx_foo subdirectories,
 > and most ports build libsa/libkern/libz per each directory,
 > or enter a directory for common libs before other boot programs.
 > (though landisk might have the same problem as i386)

No. The problem happens in a single directory, and arises because
there are two cleandir rules (one the one I patched, one in
libkern/ or similar) with no ordering constraint that blow
up if run simultaneously.

The reason it blows up is that obj/lib/libkern (or libsa or whatever)
gets removed by one while the other one is trying to chdir into it to
make clean. The constraint I put in requires that the chdir-based
rules finish before obj/lib can be rm -r'd.

David A. Holland

Home | Main Index | Thread Index | Old Index