diff options
author | jhb <jhb@FreeBSD.org> | 2001-10-11 22:48:37 +0000 |
---|---|---|
committer | jhb <jhb@FreeBSD.org> | 2001-10-11 22:48:37 +0000 |
commit | 76f1acef67a835bafb1963ff8bc73ef33a7c2016 (patch) | |
tree | 83a0d64180d5ab5929d1dc742c3b023775308daf /sys/kern/kern_prot.c | |
parent | 0c1765c061e3fbd8b3b08c4de039e483ff855661 (diff) | |
download | FreeBSD-src-76f1acef67a835bafb1963ff8bc73ef33a7c2016.zip FreeBSD-src-76f1acef67a835bafb1963ff8bc73ef33a7c2016.tar.gz |
Rework some code to be a bit simpler by inverting a few tests and using
else clauses instead of goto's.
Diffstat (limited to 'sys/kern/kern_prot.c')
-rw-r--r-- | sys/kern/kern_prot.c | 34 |
1 files changed, 12 insertions, 22 deletions
diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index 191790b..68e408b 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -174,19 +174,14 @@ getpgid(td, uap) mtx_lock(&Giant); if (uap->pid == 0) td->td_retval[0] = p->p_pgrp->pg_id; + else if ((pt = pfind(uap->pid)) == NULL) + error = ESRCH; else { - if ((pt = pfind(uap->pid)) == NULL) { - error = ESRCH; - goto done2; - } - if ((error = p_cansee(p, pt))) { - PROC_UNLOCK(pt); - goto done2; - } - td->td_retval[0] = pt->p_pgrp->pg_id; + error = p_cansee(p, pt); + if (error == 0) + td->td_retval[0] = pt->p_pgrp->pg_id; PROC_UNLOCK(pt); } -done2: mtx_unlock(&Giant); return (error); } @@ -213,21 +208,16 @@ getsid(td, uap) int error = 0; mtx_lock(&Giant); - if (uap->pid == 0) { + if (uap->pid == 0) td->td_retval[0] = p->p_session->s_sid; - } else { - if ((pt = pfind(uap->pid)) == NULL) { - error = ESRCH; - goto done2; - } - if ((error = p_cansee(p, pt))) { - PROC_UNLOCK(pt); - goto done2; - } - td->td_retval[0] = pt->p_session->s_sid; + else if ((pt = pfind(uap->pid)) == NULL) + error = ESRCH; + else { + error = p_cansee(p, pt); + if (error == 0) + td->td_retval[0] = pt->p_session->s_sid; PROC_UNLOCK(pt); } -done2: mtx_unlock(&Giant); return (error); } |