sh and sigtstp problem.

JPAYNE at BBNG.ARPA JPAYNE at BBNG.ARPA
Mon Aug 1 23:27:00 AEST 1983


I'm confused.  I tried Pausing emacs under /bin/sh and emacs simply returned
immediately and repainted the screen.  Does this means that the kernel didn't
send the signal to the shell?

Hey!  Wait a minute.  The kernel remembers whether or not the new signal
mechanism has been used in any way (there is actual a flags somewhere in the
u structure I think).  It needs to know so it can do the "right" thing with
interrupting certain system calls (read/write/wait).  Perhaps the kernel
refuses to send signals greater than 16, when the new mechanism hasn't been
used, so that old programs don't break.

SO lets see ... when a program that uses sigset etc. (which sets the
flags in the u structure) decides to kill its process group, the
kernel says "Okay fine.  Lets SIGTSTP the processes in the current
process group (which includes the sh)", and then both processes are
sleeping.

Sound plausible? or am I still confused?



More information about the Comp.unix.wizards mailing list