Interrupting signals not reset on exec (FIX)
Doug Kingston <dpk>
dpk at brl-sem.ARPA
Thu Nov 13 06:47:28 AEST 1986
Index: sys/sys/kern_exec.c 4.3BSD FIX
Description:
In 4.3BSD, the ability to interrupt systemcalls is controlled
on a per-signal basis through the user structure entry u.u_sigintr.
Unfortunately, the bit is never reset.
Repeat-By:
Run one of Doug Gwyn's system V shells compiled for 4.3BSD
and watch the behavior of signals on editors or other other
programs that have reads which should not be interrupted by signals.
Fix:
In kern_exec.c, apply the following diff. This will reset
the sigintr behavior when it resets all the other signal
parameters for the new process image.
*** /tmp/,RCSt1009882 Wed Nov 12 15:38:33 1986
--- kern_exec.c Wed Oct 29 22:42:08 1986
***************
*** 343,348 ****
--- 343,349 ----
u.u_onstack = 0;
u.u_sigsp = 0;
u.u_sigonstack = 0;
+ u.u_sigintr = 0;
for (nc = u.u_lastfile; nc >= 0; --nc) {
if (u.u_pofile[nc] & UF_EXCLOSE) {
More information about the Comp.bugs.4bsd.ucb-fixes
mailing list