386 trap and syscall frame difference passed thru to sendsig()
authorWilliam Nesheim <william@ucbvax.Berkeley.EDU>
Sat, 19 Jan 1991 09:37:33 +0000 (01:37 -0800)
committerWilliam Nesheim <william@ucbvax.Berkeley.EDU>
Sat, 19 Jan 1991 09:37:33 +0000 (01:37 -0800)
SCCS-vsn: sys/kern/kern_sig.c 7.26

usr/src/sys/kern/kern_sig.c

index 8e517e9..2080c0a 100644 (file)
@@ -4,7 +4,7 @@
  *
  * %sccs.include.redist.c%
  *
  *
  * %sccs.include.redist.c%
  *
- *     @(#)kern_sig.c  7.25 (Berkeley) %G%
+ *     @(#)kern_sig.c  7.26 (Berkeley) %G%
  */
 
 #include "param.h"
  */
 
 #include "param.h"
@@ -508,7 +508,11 @@ trapsignal(sig, code)
                        ktrpsig(p->p_tracep, sig, u.u_signal[sig], 
                                p->p_sigmask, code);
 #endif
                        ktrpsig(p->p_tracep, sig, u.u_signal[sig], 
                                p->p_sigmask, code);
 #endif
+#if    defined(i386)
+               sendsig(u.u_signal[sig], sig, p->p_sigmask, code, 0x100);
+#else
                sendsig(u.u_signal[sig], sig, p->p_sigmask, code);
                sendsig(u.u_signal[sig], sig, p->p_sigmask, code);
+#endif
                p->p_sigmask |= u.u_sigmask[sig] | mask;
        } else {
                u.u_code = code;        /* XXX for core dump/debugger */
                p->p_sigmask |= u.u_sigmask[sig] | mask;
        } else {
                u.u_code = code;        /* XXX for core dump/debugger */
@@ -884,7 +888,11 @@ stop(p)
  *     if (sig = CURSIG(p))
  *             psig(sig);
  */
  *     if (sig = CURSIG(p))
  *             psig(sig);
  */
+#if defined(i386)
+psig(sig, flags)
+#else
 psig(sig)
 psig(sig)
+#endif
        register int sig;
 {
        register struct proc *p = u.u_procp;
        register int sig;
 {
        register struct proc *p = u.u_procp;
@@ -927,7 +935,11 @@ psig(sig)
                        p->p_sigmask |= u.u_sigmask[sig] | mask;
                        (void) spl0();
                        u.u_ru.ru_nsignals++;
                        p->p_sigmask |= u.u_sigmask[sig] | mask;
                        (void) spl0();
                        u.u_ru.ru_nsignals++;
+#if    defined(i386)
+                       sendsig(action, sig, returnmask, 0, flags);
+#else
                        sendsig(action, sig, returnmask, 0);
                        sendsig(action, sig, returnmask, 0);
+#endif
                        continue;
                }
                u.u_acflag |= AXSIG;
                        continue;
                }
                u.u_acflag |= AXSIG;