aboutsummaryrefslogtreecommitdiff
path: root/sys/kern/kern_sig.c
diff options
context:
space:
mode:
authorDag-Erling Smørgrav <des@FreeBSD.org>2001-11-02 23:50:00 +0000
committerDag-Erling Smørgrav <des@FreeBSD.org>2001-11-02 23:50:00 +0000
commit2899d6063893d97ce6b60b94f1d26cfa343a3dd7 (patch)
treef4095e8d7f53ba1d5a20e1245d74e9a7f6a0559b /sys/kern/kern_sig.c
parent2335a3d70a5254c4ac25647d2136ec20882eee73 (diff)
downloadsrc-2899d6063893d97ce6b60b94f1d26cfa343a3dd7.tar.gz
src-2899d6063893d97ce6b60b94f1d26cfa343a3dd7.zip
We have a _SIG_VALID() macro, so use it instead of duplicating the test all
over the place. Also replace a printf() + panic() with a KASSERT(). Reviewed by: jhb
Notes
Notes: svn path=/head/; revision=85925
Diffstat (limited to 'sys/kern/kern_sig.c')
-rw-r--r--sys/kern/kern_sig.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c
index 88a24fee351d..1edb76674ae5 100644
--- a/sys/kern/kern_sig.c
+++ b/sys/kern/kern_sig.c
@@ -219,7 +219,7 @@ do_sigaction(p, sig, act, oact, old)
{
register struct sigacts *ps;
- if (sig <= 0 || sig > _SIG_MAXSIG)
+ if (!_SIG_VALID(sig))
return (EINVAL);
PROC_LOCK(p);
@@ -1053,7 +1053,7 @@ kill(td, uap)
register struct proc *p;
int error = 0;
- if ((u_int)uap->signum > _SIG_MAXSIG)
+ if (!_SIG_VALID(uap->signum))
return (EINVAL);
mtx_lock(&Giant);
@@ -1105,7 +1105,7 @@ okillpg(td, uap)
{
int error;
- if ((u_int)uap->signum > _SIG_MAXSIG)
+ if (!_SIG_VALID(uap->signum))
return (EINVAL);
mtx_lock(&Giant);
error = killpg1(td->td_proc, uap->signum, uap->pgid, 0);
@@ -1220,10 +1220,8 @@ psignal(p, sig)
struct thread *td;
struct ksegrp *kg;
- if (sig > _SIG_MAXSIG || sig <= 0) {
- printf("psignal: signal %d\n", sig);
- panic("psignal signal number");
- }
+ KASSERT(_SIG_VALID(sig),
+ ("psignal(): invalid signal %d\n", sig));
PROC_LOCK_ASSERT(p, MA_OWNED);
KNOTE(&p->p_klist, NOTE_SIGNAL | sig);