summaryrefslogtreecommitdiffstats
path: root/Modules/CheckPIESupported.cmake
diff options
context:
space:
mode:
authorJoerg Sonnenberger <joerg@bec.de>2020-05-21 19:07:50 (GMT)
committerBrad King <brad.king@kitware.com>2020-05-21 20:17:36 (GMT)
commit01ad90258871d3d86d6b9a06878c7ddad95b292a (patch)
tree238664accc00b770d4d9a9e3499ee5d759c7c235 /Modules/CheckPIESupported.cmake
parent9ec09f22ff1b1109d9bb7b4e8d1aec5663029cd3 (diff)
downloadCMake-01ad90258871d3d86d6b9a06878c7ddad95b292a.zip
CMake-01ad90258871d3d86d6b9a06878c7ddad95b292a.tar.gz
CMake-01ad90258871d3d86d6b9a06878c7ddad95b292a.tar.bz2
Autogen: Redo locking and state machine for fence handling and the worker pool
(1) All CV use must hold the corresponding mutex, otherwise race conditions happen. This is mandated by the C++ standard. (2) Introduce a separate CV for the thread waiting for other jobs to finish before running a fence. This avoids waking up all other workers blindly. Correctly wake that thread up when the processing of outstanding jobs is done. (3) Split the waiting for a fence to become runnable from a fence is pending. This avoids problems if more than one fence can end up on the queue. The thread that took a fence off the queue is responsible for clearing the fence processing flag.
Diffstat (limited to 'Modules/CheckPIESupported.cmake')
0 files changed, 0 insertions, 0 deletions