dtynan@sultra.UUCP (Der Tynan) (10/12/88)
Once more unto the breech... I recently posted a message about a problem with SIGINT, and background tasks. Someone e-mail'ed back, saying this was fixed in 1.3b. Well, I am now running 1.3b and the bug is still there. A quick summary of the bug; from the shell, if you put 'make' into the background (make &), and then run some other command (such as 'ls'), then type your SIGINT character (DEL in most cases), not only will the 'ls' stop, but so too will the make process. I am pretty sure that this is not an 'sh' problem. I am halfway convinced that it's not a 'make' problem. This leaves the tty.c driver. I am on unstable ground here, as I'm not sure if this is some 'official' quirk of process groups -- I know this isn't the case with SysV!! Anyway, surely someone else has run into this problem? Most of my compiles are done in the background, and it's hard to remember NOT to press DEL, when leafing through a big file. I'm sure there is a simple fix for this; has anyone done anything on these lines? Or, am I alone on this one... - Der -- Reply: dtynan@sultra.UUCP (Der Tynan @ Tynan Computers) {mips,pyramid}!sultra!dtynan Cast a cold eye on life, on death. Horseman, pass by... [WBY]
rtregn@immd3.informatik.uni-erlangen.de (Robert Regn) (10/24/88)
In <2573@sultra.UUCP> Der Tynan writes ... from the shell, if you put 'make' into the background (make &), and then run some other command (such as 'ls'), then type your SIGINT character (DEL in most cases), not only will the 'ls' stop, but so too will the make process. The reason for this is the line in cc.c : signal (SIGINT, trapcc); It reconnects an ignored signal. Then in the childs of cc the action to the SIGINT is resetted by the kernel (because the adress of trapcc makes no sense for another program). To eliminate the bug this line must canged to (for example): if (signal (SIGINT, SIG_IGN) != SIG_IGN) signal (SIGINT, trapcc); Similary for SIGQUIT. So nothing is changed (to bad) if ignore is already adjusted, and cc runs over cpp, cem, opt, cg well even if DEL is typed UNTIL to asld. I think asld.c contains same line for removing his temp file ! The fix to cc.c should included in the 1.3c Version. More difficult is the fix for asld. Here we are thrown upon a new binary version from ast. Robert Regn rtregn.faui32.uucp