By the way, it looks like the documentation for createDirectoryIfMissing doesn't mention anything about its safety under concurrent invocation.

Looking at the code, it looks like it is safe (it handles the already exist exception):

    http://www.haskell.org/ghc/docs/latest/html/libraries/directory/src/System-Directory.html#createDirectoryIfMissing

But maybe the docs could reflect that....

-Ryan


On Fri, Feb 24, 2012 at 3:16 AM, Conrad Parker <conrad@metadecks.org> wrote:
Hi,

recently we've been tweaking our internal build system at Tsuru to
handle parallel builds of both cabal packages via 'cabal-sort
--makefile' and our local code tree via 'ghc -M'. In addition to the
recompilation checker fixes of #5878, the following would be great to
have in 7.4.2:

1) http://hackage.haskell.org/trac/ghc/ticket/5891 -- the patch fixes
a race condition in creating parent directories for built object files

2) master commit b6f94b5 "Compile link .note section separately from
main.c" -- I think this is the patch that fixes link errors we've seen
during parallel builds (via ghc -M) with 7.4.1, such as:

/x/y/z.o: file not recognized: File truncated

and:

/usr/bin/ld: BFD (GNU Binutils for Ubuntu) 2.20.51-system.20100908
internal error, aborting at ../../bfd/merge.c line 872 in
_bfd_merged_section_offset

Will everything currently in master already be included in the next
release or is it a separate branch? (If it's a separate branch I'll do
some more testing to confirm that b6f94b5 is the patch that fixes the
link error).

Conrad.

_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users