diff options
author | davidxu <davidxu@FreeBSD.org> | 2010-09-29 07:31:05 +0000 |
---|---|---|
committer | davidxu <davidxu@FreeBSD.org> | 2010-09-29 07:31:05 +0000 |
commit | 6580ce86ea3a8f7e3aac2b80b91203c9b2cb5246 (patch) | |
tree | d4e5f387e4bb1194d1038b97d8a98e374d36d977 /sys/kern | |
parent | df6acfd7c436d98725e8dab37393e51f4f394496 (diff) | |
download | FreeBSD-src-6580ce86ea3a8f7e3aac2b80b91203c9b2cb5246.zip FreeBSD-src-6580ce86ea3a8f7e3aac2b80b91203c9b2cb5246.tar.gz |
- kern_sched_rr_get_interval should return interval for thread 1 in
target process.
- eliminate a goto.
MFC after: 1 week
Diffstat (limited to 'sys/kern')
-rw-r--r-- | sys/kern/p1003_1b.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/sys/kern/p1003_1b.c b/sys/kern/p1003_1b.c index 6d05972..5de60f2 100644 --- a/sys/kern/p1003_1b.c +++ b/sys/kern/p1003_1b.c @@ -219,10 +219,8 @@ sched_getscheduler(struct thread *td, struct sched_getscheduler_args *uap) PROC_LOCK(targetp); } else { targetp = pfind(uap->pid); - if (targetp == NULL) { - e = ESRCH; - goto done2; - } + if (targetp == NULL) + return (ESRCH); targettd = FIRST_THREAD_IN_PROC(targetp); } @@ -233,7 +231,6 @@ sched_getscheduler(struct thread *td, struct sched_getscheduler_args *uap) } PROC_UNLOCK(targetp); -done2: return (e); } @@ -293,13 +290,10 @@ kern_sched_rr_get_interval(struct thread *td, pid_t pid, targetp = td->td_proc; PROC_LOCK(targetp); } else { - targetp = td->td_proc; - PROC_LOCK(targetp); - targettd = thread_find(targetp, pid); - if (targettd == NULL) { - PROC_UNLOCK(targetp); + targetp = pfind(pid); + if (targetp == NULL) return (ESRCH); - } + targettd = FIRST_THREAD_IN_PROC(targetp); } e = p_cansee(td, targetp); |