Is there any alternative way to work around this problem?
Methods using 'alarm' in any shape or form as a timeout watcher also don't work on Windows.
Multi threading could be an answer, but Tk is not thread safe.
Currently I do the engine stuff in a separate multi threaded non-Tk perl program, which copies the output of the engine to an ordinary file which the main app can read. This way however I have to run two different programs.