sh and sigtstp problem.
dbj.rice at rand-relay
dbj.rice at rand-relay
Wed Aug 3 07:38:17 AEST 1983
From: Dave Johnson <dbj.rice at rand-relay>
From: JPAYNE at BBNG
... I tried Pausing emacs under /bin/sh and emacs simply
returned immediately and repainted the screen. ... 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.
From: chris at umcp-cs
... I took a look into the kernel code and came up with ...
nothing ... There may be something special in psignal ...
The reason this happens is simple: SIGTSTP is ignored by login, which is
inherited by the /bin/sh, and is then inherited by the Emacs. When emacs
decides that you're trying to do a pause-emacs, it sends itself a SIGTSTP.
Since this is ignored in the case that you're running the Emacs from /bin/sh
(without a csh behind it), the signal does nothing. When emacs wakes back
up from the pause (which in this case is immediate since the pause was
ignored), it redraws the screen. The reason this behaves differently when
you login to csh instead of sh is that the C-shell sets the action for
SIGTSTP back to SIG_DFL when it starts up.
Dave Johnson
Dept. of Math Science
Rice University
dbj.rice at Rand-Relay
More information about the Comp.unix.wizards
mailing list