Reimplement time limit mechanism for windows (#6049)
authorGereon Kremer <gereon.kremer@cs.rwth-aachen.de>
Fri, 5 Mar 2021 11:37:50 +0000 (12:37 +0100)
committerGitHub <noreply@github.com>
Fri, 5 Mar 2021 11:37:50 +0000 (11:37 +0000)
commite73c81f0241a0f46a94b548dc6c2aaba338637c1
treed5b182068a60516527bc3d9fe5f91f2a97c9ec53
parentd09ca870bcaef2efbf4f0d5a25b16f301ef5a0df
Reimplement time limit mechanism for windows (#6049)

As noted in #5034, --tlimit is not working properly on windows. It turns out that the timer mechanism provided by the windows API are not suitable for our use case. Thus, this PR implements a generic std::thread-based timer mechanism which is used whenever the POSIX timers (setitimer) are not available. It also adds some documentation on the timer options and the reasons we ended up with this.
Fixes #5034.
cmake/ConfigureCVC4.cmake
cmake/Toolchain-mingw64.cmake
cvc4autoconfig.h.in
src/main/driver_unified.cpp
src/main/time_limit.cpp
src/main/time_limit.h