Closed hannesveit closed 8 years ago
If we could use Thermo's ExternalProcessHelper and run via ExecuteAbortableProcess, aborting these external processes would be taken care of automatically when the workflow is aborted.
Unfortunately, we cannot use this because this method does not allow to set environment variables for the process, which we need in order to set the right OPENMS_DATA_PATH.
The solution is thus to catch a ThreadAbortException and kill the running process from there. Fixed in 652ff1a.
When workflows are aborted, the TOPP binaries keep running, which delays workflow abortion until all currently running binaries have finished. We should keep track of the processes that we spawn and kill them as soon as the user requests to abort the workflow.