Previously, pressing 'cancel' in the verification window would leave a dangling scyther backend process. Now the process gets correctly killed. The following changes enable this: - External processes are no longer invoked through the shell (otherwise they are subprocesses of the shell and cannot be reliably killed cross-platform). - The 'safeCommand' procedure now has a hook for passing opened Popen objects. - The GUI stores and kills the Popen objects on cancel or window close. To do: an alternative interface for this in 'safeCommand' could expose a 'killMe' method through a callback; this might be cleaner in the long term.
18 KiB
Executable File
18 KiB
Executable File