split off thread specific stuff from struct sigacts to struct sigctx, leaving
only signal handler array sharable between threads move other random signal stuff from struct proc to struct sigctx This addresses kern/10981 by Matthew Orgass. XXX I wish m68k ports would share trap.c
This commit is contained in:
parent
ad2b8edf8a
commit
de31133f1d
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: trap.c,v 1.80 2000/12/19 21:09:54 scw Exp $ */
|
||||
/* $NetBSD: trap.c,v 1.81 2000/12/23 09:35:51 jdolecek Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
|
@ -662,10 +662,10 @@ trap(type, code, v, frame)
|
|||
printf("pid %d: kernel %s exception\n", p->p_pid,
|
||||
type==T_COPERR ? "coprocessor" : "format");
|
||||
#endif
|
||||
p->p_sigacts->ps_sigact[SIGILL].sa_handler = SIG_DFL;
|
||||
sigdelset(&p->p_sigignore, SIGILL);
|
||||
sigdelset(&p->p_sigcatch, SIGILL);
|
||||
sigdelset(&p->p_sigmask, SIGILL);
|
||||
SIGACTION(p, SIGILL).sa_handler = SIG_DFL;
|
||||
sigdelset(&p->p_sigctx.ps_sigignore, SIGILL);
|
||||
sigdelset(&p->p_sigctx.ps_sigcatch, SIGILL);
|
||||
sigdelset(&p->p_sigctx.ps_sigmask, SIGILL);
|
||||
i = SIGILL;
|
||||
ucode = frame.f_format; /* XXX was ILL_RESAD_FAULT */
|
||||
break;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: trap.c,v 1.56 2000/12/19 21:09:55 scw Exp $ */
|
||||
/* $NetBSD: trap.c,v 1.57 2000/12/23 09:35:51 jdolecek Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
|
@ -401,10 +401,10 @@ trap(type, code, v, frame)
|
|||
printf("pid %d: kernel %s exception\n", p->p_pid,
|
||||
type==T_COPERR ? "coprocessor" : "format");
|
||||
#endif
|
||||
p->p_sigacts->ps_sigact[SIGILL].sa_handler = SIG_DFL;
|
||||
sigdelset(&p->p_sigignore, SIGILL);
|
||||
sigdelset(&p->p_sigcatch, SIGILL);
|
||||
sigdelset(&p->p_sigmask, SIGILL);
|
||||
SIGACTION(p, SIGILL).sa_handler = SIG_DFL;
|
||||
sigdelset(&p->p_sigctx.ps_sigignore, SIGILL);
|
||||
sigdelset(&p->p_sigctx.ps_sigcatch, SIGILL);
|
||||
sigdelset(&p->p_sigctx.ps_sigmask, SIGILL);
|
||||
i = SIGILL;
|
||||
ucode = frame.f_format; /* XXX was ILL_RESAD_FAULT */
|
||||
break;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: trap.c,v 1.84 2000/12/19 21:09:55 scw Exp $ */
|
||||
/* $NetBSD: trap.c,v 1.85 2000/12/23 09:35:52 jdolecek Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
|
@ -364,10 +364,10 @@ trap(type, code, v, frame)
|
|||
printf("pid %d: kernel %s exception\n", p->p_pid,
|
||||
type==T_COPERR ? "coprocessor" : "format");
|
||||
type |= T_USER;
|
||||
p->p_sigacts->ps_sigact[SIGILL].sa_handler = SIG_DFL;
|
||||
sigdelset(&p->p_sigignore, SIGILL);
|
||||
sigdelset(&p->p_sigcatch, SIGILL);
|
||||
sigdelset(&p->p_sigmask, SIGILL);
|
||||
SIGACTION(p, SIGILL).sa_handler = SIG_DFL;
|
||||
sigdelset(&p->p_sigctx.ps_sigignore, SIGILL);
|
||||
sigdelset(&p->p_sigctx.ps_sigcatch, SIGILL);
|
||||
sigdelset(&p->p_sigctx.ps_sigmask, SIGILL);
|
||||
i = SIGILL;
|
||||
ucode = frame.f_format; /* XXX was ILL_RESAD_FAULT */
|
||||
break;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: trap.c,v 1.11 2000/12/19 21:09:56 scw Exp $ */
|
||||
/* $NetBSD: trap.c,v 1.12 2000/12/23 09:35:52 jdolecek Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
|
@ -44,7 +44,7 @@
|
|||
|
||||
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
|
||||
|
||||
__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.11 2000/12/19 21:09:56 scw Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: trap.c,v 1.12 2000/12/23 09:35:52 jdolecek Exp $");
|
||||
|
||||
#include "opt_ddb.h"
|
||||
#include "opt_execfmt.h"
|
||||
|
@ -334,10 +334,10 @@ trap(type, code, v, frame)
|
|||
printf("pid %d: kernel %s exception\n", p->p_pid,
|
||||
type==T_COPERR ? "coprocessor" : "format");
|
||||
type |= T_USER;
|
||||
p->p_sigacts->ps_sigact[SIGILL].sa_handler = SIG_DFL;
|
||||
sigdelset(&p->p_sigignore, SIGILL);
|
||||
sigdelset(&p->p_sigcatch, SIGILL);
|
||||
sigdelset(&p->p_sigmask, SIGILL);
|
||||
SIGACTION(p, SIGILL).sa_handler = SIG_DFL;
|
||||
sigdelset(&p->p_sigctx.ps_sigignore, SIGILL);
|
||||
sigdelset(&p->p_sigctx.ps_sigcatch, SIGILL);
|
||||
sigdelset(&p->p_sigctx.ps_sigmask, SIGILL);
|
||||
i = SIGILL;
|
||||
ucode = frame.f_format; /* XXX was ILL_RESAD_FAULT */
|
||||
break;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: trap.c,v 1.53 2000/12/22 21:02:05 scw Exp $ */
|
||||
/* $NetBSD: trap.c,v 1.54 2000/12/23 09:35:52 jdolecek Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
|
@ -383,10 +383,10 @@ trap(type, code, v, frame)
|
|||
printf("pid %d: kernel %s exception\n", p->p_pid,
|
||||
type==T_COPERR ? "coprocessor" : "format");
|
||||
type |= T_USER;
|
||||
p->p_sigacts->ps_sigact[SIGILL].sa_handler = SIG_DFL;
|
||||
sigdelset(&p->p_sigignore, SIGILL);
|
||||
sigdelset(&p->p_sigcatch, SIGILL);
|
||||
sigdelset(&p->p_sigmask, SIGILL);
|
||||
SIGACTION(p, SIGILL).sa_handler = SIG_DFL;
|
||||
sigdelset(&p->p_sigctx.ps_sigignore, SIGILL);
|
||||
sigdelset(&p->p_sigctx.ps_sigcatch, SIGILL);
|
||||
sigdelset(&p->p_sigctx.ps_sigmask, SIGILL);
|
||||
i = SIGILL;
|
||||
ucode = frame.f_format; /* XXX was ILL_RESAD_FAULT */
|
||||
break;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: trap.c,v 1.10 2000/12/19 21:09:57 scw Exp $ */
|
||||
/* $NetBSD: trap.c,v 1.11 2000/12/23 09:35:52 jdolecek Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
|
@ -354,10 +354,10 @@ trap(type, code, v, frame)
|
|||
printf("pid %d: kernel %s exception\n", p->p_pid,
|
||||
type==T_COPERR ? "coprocessor" : "format");
|
||||
type |= T_USER;
|
||||
p->p_sigacts->ps_sigact[SIGILL].sa_handler = SIG_DFL;
|
||||
sigdelset(&p->p_sigignore, SIGILL);
|
||||
sigdelset(&p->p_sigcatch, SIGILL);
|
||||
sigdelset(&p->p_sigmask, SIGILL);
|
||||
SIGACTION(p, SIGILL).sa_handler = SIG_DFL;
|
||||
sigdelset(&p->p_sigctx.ps_sigignore, SIGILL);
|
||||
sigdelset(&p->p_sigctx.ps_sigcatch, SIGILL);
|
||||
sigdelset(&p->p_sigctx.ps_sigmask, SIGILL);
|
||||
i = SIGILL;
|
||||
ucode = frame.f_format; /* XXX was ILL_RESAD_FAULT */
|
||||
break;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: trap.c,v 1.28 2000/12/19 21:09:57 scw Exp $ */
|
||||
/* $NetBSD: trap.c,v 1.29 2000/12/23 09:35:53 jdolecek Exp $ */
|
||||
|
||||
/*
|
||||
* This file was taken from mvme68k/mvme68k/trap.c
|
||||
|
@ -376,10 +376,10 @@ trap(type, code, v, frame)
|
|||
printf("pid %d: kernel %s exception\n", p->p_pid,
|
||||
type==T_COPERR ? "coprocessor" : "format");
|
||||
type |= T_USER;
|
||||
p->p_sigacts->ps_sigact[SIGILL].sa_handler = SIG_DFL;
|
||||
sigdelset(&p->p_sigignore, SIGILL);
|
||||
sigdelset(&p->p_sigcatch, SIGILL);
|
||||
sigdelset(&p->p_sigmask, SIGILL);
|
||||
SIGACTION(p, SIGILL).sa_handler = SIG_DFL;
|
||||
sigdelset(&p->p_sigctx.ps_sigignore, SIGILL);
|
||||
sigdelset(&p->p_sigctx.ps_sigcatch, SIGILL);
|
||||
sigdelset(&p->p_sigctx.ps_sigmask, SIGILL);
|
||||
i = SIGILL;
|
||||
ucode = frame.f_format; /* XXX was ILL_RESAD_FAULT */
|
||||
break;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
/* $NetBSD: trap.c,v 1.46 2000/12/19 21:09:58 scw Exp $ */
|
||||
/* $NetBSD: trap.c,v 1.47 2000/12/23 09:35:53 jdolecek Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988 University of Utah.
|
||||
|
@ -367,10 +367,10 @@ trap(type, code, v, frame)
|
|||
printf("pid %d: kernel %s exception\n", p->p_pid,
|
||||
type==T_COPERR ? "coprocessor" : "format");
|
||||
type |= T_USER;
|
||||
p->p_sigacts->ps_sigact[SIGILL].sa_handler = SIG_DFL;
|
||||
sigdelset(&p->p_sigignore, SIGILL);
|
||||
sigdelset(&p->p_sigcatch, SIGILL);
|
||||
sigdelset(&p->p_sigmask, SIGILL);
|
||||
SIGACTION(p, SIGILL).sa_handler = SIG_DFL;
|
||||
sigdelset(&p->p_sigctx.ps_sigignore, SIGILL);
|
||||
sigdelset(&p->p_sigctx.ps_sigcatch, SIGILL);
|
||||
sigdelset(&p->p_sigctx.ps_sigmask, SIGILL);
|
||||
i = SIGILL;
|
||||
ucode = frame.f_format; /* XXX was ILL_RESAD_FAULT */
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue