summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn Baldwin <jhb@FreeBSD.org>2001-10-11 22:48:37 +0000
committerJohn Baldwin <jhb@FreeBSD.org>2001-10-11 22:48:37 +0000
commit6a90c862d374ae974bf64cf16b02930f6acd9bcc (patch)
tree83a0d64180d5ab5929d1dc742c3b023775308daf
parent5aa8fe17f8ac259386fac2eac0713c61ebf30f68 (diff)
Notes
-rw-r--r--sys/kern/kern_prot.c34
1 files changed, 12 insertions, 22 deletions
diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c
index 191790b46cc4..68e408b01ff0 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);
}