make-w32
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: WINDOWS32 "Signal 127" due to a path in quotes bug


From: Paul D. Smith
Subject: Re: WINDOWS32 "Signal 127" due to a path in quotes bug
Date: Mon, 1 Aug 2005 18:42:49 -0400

%% "J. Grant" <address@hidden> writes:

  jg> 1) Testing on Debian GNU/Linux

  jg> $ make -f makefile_sig.mak -j8
  jg> <snip>
  jg> 15299
  jg> 15300
  jg> make: *** [temp1] Interrupt
  jg> make: *** [temp2] Interrupt

  jg> MSYS, with MSVC build:

  jg> make -f makefile_sig.mak -j8

  jg> 15299
  jg> 15300

  jg> rxvt.exe
  jg>     sh.exe
  jg>       make.exe
  jg>          main.exe
  jg>          main.exe

  jg> Pressing <ctrl> + C kills make.exe.  So main.exe and main.exe
  jg> continue on their own, sh and rxvt are broken, and have to be
  jg> killed and restarted.

  jg> would it be expected that the <ctrl>+c signal would not be passed
  jg> to the launched process?

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.

  jg> Also, could the GNU/Linux "Interrupt" description be expanded upon?

  jg> Perhaps:

  jg> "<ctrl>+C Interrupt received"

First, on Linux that string is obtained from the operating system,
because Linux has sys_siglist[].

Second, it's not appropriate to restrict this to ^C because lots of
things could give a SIGINT to a process.

-- 
-------------------------------------------------------------------------------
 Paul D. Smith <address@hidden>          Find some GNU make tips at:
 http://www.gnu.org                      http://make.paulandlesley.org
 "Please remain calm...I may be mad, but I am a professional." --Mad Scientist




reply via email to

[Prev in Thread] Current Thread [Next in Thread]