Implement --tlimit for windows (#4716)
authorGereon Kremer <gereon.kremer@cs.rwth-aachen.de>
Mon, 13 Jul 2020 11:57:41 +0000 (13:57 +0200)
committerGitHub <noreply@github.com>
Mon, 13 Jul 2020 11:57:41 +0000 (06:57 -0500)
commitdf642ec7d4eef0e2f994751be53e66201f2b92f9
tree9ec55084270252c8e67dd117fd5f57a52a845fba
parentc7ec792a2086c5b92c4a96d18f7cedb293712dfd
Implement --tlimit for windows (#4716)

The new mechanism for --tlimit only works for POSIX compatible systems (that implement setitimer). This PR implements an alternative (though roughly equivalent) approach for windows, based on SetWaitableTimer().

To make this work (without code duplication) we need to call the timeout_handler function from time_limit.cpp as the windows solution employs an asynchronous callback instead of signals. I used the opportunity to rename util.cpp to signal_handlers.cpp (as it really does not do anything else) and reformat the file.

As I do not have a windows system at hand, I have not been able to actually test this apart from making sure that it compiles with the mingw setup.
src/main/CMakeLists.txt
src/main/driver_unified.cpp
src/main/signal_handlers.cpp [new file with mode: 0644]
src/main/signal_handlers.h [new file with mode: 0644]
src/main/time_limit.cpp
src/main/time_limit.h
src/main/util.cpp [deleted file]