summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/subprocess-posix.cc1
-rw-r--r--src/subprocess-win32.cc2
2 files changed, 2 insertions, 1 deletions
diff --git a/src/subprocess-posix.cc b/src/subprocess-posix.cc
index 7311f64..6e4b47c 100644
--- a/src/subprocess-posix.cc
+++ b/src/subprocess-posix.cc
@@ -65,6 +65,7 @@ bool Subprocess::Start(SubprocessSet* set, const string& command) {
break;
if (!use_console_) {
+ // Put the child in its own process group, so ctrl-c won't reach it.
if (setpgid(0, 0) < 0)
break;
diff --git a/src/subprocess-win32.cc b/src/subprocess-win32.cc
index 59b2d37..4fa24c6 100644
--- a/src/subprocess-win32.cc
+++ b/src/subprocess-win32.cc
@@ -277,7 +277,7 @@ void SubprocessSet::Clear() {
for (vector<Subprocess*>::iterator i = running_.begin();
i != running_.end(); ++i) {
// Since the foreground process is in our process group, it will receive a
- // SIGINT at the same time as us. XXX is this true on windows?
+ // CTRL_BREAK_EVENT at the same time as us.
if ((*i)->child_ && !(*i)->use_console_) {
if (!GenerateConsoleCtrlEvent(CTRL_BREAK_EVENT,
GetProcessId((*i)->child_))) {