jack@cwi.nl (Jack Jansen) (12/20/90)
I have a problem with job control signals on a 4D/25 running Irix 3.3.1 that has me completely baffled. The program in question is a job control shell, similar to csh or ksh, but completely different inside. Most important, probably, is that the program uses BSD signals (i.e. compiled with -D_BSD_COMPAT). The problem is that stopping a program (either through ^z or by sending it a signal from the outside) doesn't work immedeately: if I send a stop signal to, say, 'sleep 10000', nothing happens until I interrupt the program in a different way (e.g. by typeing ^c). At this point, the shell will notice that the child has received a stop signal. The problem seems somehow related to the pause() system call, because if I run the program fragment 'while(1) { sleep(10); }' a stop signal will cause the shell to notice after a few seconds. Also, programs that don't do pause() calls can be stopped just fine. The really strange thing is that I have been completely unable to reproduce the problem using csh, ksh or yet another locally built job-control shell. A simple test program also failed to demonstrate the bug. So, my question: does anyone know what is going on here? (btw: sorry for being so vague in my description, but please blame this on the fact that I have absolutely no idea whatsoever what could be going on here) -- -- Een volk dat voor tirannen zwicht | Oral: Jack Jansen zal meer dan lijf en goed verliezen | Internet: jack@cwi.nl dan dooft het licht | Uucp: hp4nl!cwi.nl!jack