From: Azab, Mohamed
Sent: Tuesday, November 25, 2014 4:00 PM
To: CDT General developers list. (cdt-dev@xxxxxxxxxxx)
Subject: Cancel action for project building fails (sometimes)
Hi all,
It is known for a while now that the native process termination mechanism that CDT use doesn’t work properly with “make” processes in Windows environment (
https://bugs.eclipse.org/bugs/show_bug.cgi?id=370850 ).
We were investigating this recently and it appears to has something to do with the way that starter.exe handles terminate/kill events.
Looking at org.eclipse.cdt.core.win32\library\starter\starter.cpp(352), we found that in case starter received term/kill event, it will only send a ctrlc event to the parent console.
It appears that replacing this logic with something like what starter does with Cygwin processes, and send “taskkill /T ” in terminate event and “taskkill /T /F” in kill event solves the problem with canceling make process tree.
Is there a strong reason on using ctrlc in this case or is there a side effect on something else like gdb processes?
Thanks,
Mohamed Azab