[comp.sys.sgi] Problems with job control signals under irix 3.3.1.

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