OSDN Git Service

[cmake] Include project name in Sphinx doctree dir to fix race conditions
authorMichal Gorny <mgorny@gentoo.org>
Thu, 30 Nov 2017 19:09:22 +0000 (19:09 +0000)
committerMichal Gorny <mgorny@gentoo.org>
Thu, 30 Nov 2017 19:09:22 +0000 (19:09 +0000)
commit14540ca766d421bd46b55757c1c92c48a5ad22b6
tree3e49306aa8dd10b9770b48851a3b033b8cb8d863
parentd993b016d170e441de08153dfc349dbaafe44826
[cmake] Include project name in Sphinx doctree dir to fix race conditions

Modify add_sphinx_target() to include the project name alongside builder
in Sphinx doctree directory. This aims to avoid crashes due to race
conditions between multiple Sphinx instances running in parallel that
attempt to create or read that directory simultaneously.

This problem has originally been addressed in r283188. However, that
commit presumed that there will be only one target per builder being
run. However, r314863 introduced a second manpage target, reintroducing
the race condition.

Differential Revision: https://reviews.llvm.org/D40656

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@319461 91177308-0d34-0410-b5e6-96231b3b80d8
cmake/modules/AddSphinxTarget.cmake