Parallel Build: fix make-directory race condition

This commit is contained in:
Kevin Tew 2010-09-10 10:02:18 -06:00
parent 8b2c08a836
commit 2c9f8cebbd

View File

@ -19,6 +19,7 @@
scribble/html-properties
scribble/manual ; really shouldn't be here... see dynamic-require-doc
scribble/private/run-pdflatex
unstable/file
(prefix-in html: scribble/html-render)
(prefix-in latex: scribble/latex-render))
@ -682,7 +683,7 @@
(unless latex-dest
(let ([dir (doc-dest-dir doc)])
(if (not (directory-exists? dir))
(make-directory dir)
(make-directory*/ignore-exists-exn dir)
(for ([f (directory-list dir)]
#:when
(and (file-exists? f)
@ -781,7 +782,7 @@
(define (write- latex-dest vers doc name data)
(let* ([filename (sxref-path latex-dest doc name)])
(when (verbose) (printf " [Caching to disk ~a]\n" filename))
(make-directory* (doc-dest-dir doc))
(make-directory*/ignore-exists-exn (doc-dest-dir doc))
(with-compile-output filename
(lambda (out tmp-filename)
(write-bytes (s-exp->fasl (append (list (list vers (doc-flags doc))) data)) out)))))