Hi Paul,
In UNIX/POSIX, it's the responsibility of the operating system to send
signals to all the processes in the same process group. Since make
doesn't change its process group ever, that means that all make
programs, AND the processes that they invoke (compilers and whatever)
are in the same process group (unless some program that make invokes
explicitly changes its process group, which is not likely for the kinds
of things make would run).
That means that when you ^C, all the processes get a SIGINT, including
all instances of make AND all programs make invokes. In a UNIX/POSIX
system make doesn't need to "forward" any signals, and so there's no
code in make to do that.
Ok. thank you for explaining. So is the reason the two main.exe do not
terminate because my main.c program does not handle SIGINT?
If so, I wonder why SIGINT (ctrl+C) terminates the two "main" processes on
GNU/Linux?
Kind regards
JG
_______________________________________________
Make-w32 mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/make-w32