svn commit: r241854 - head/sys/kern
Eitan Adler
eadler at FreeBSD.org
Mon Oct 22 03:36:45 UTC 2012
Author: eadler
Date: Mon Oct 22 03:36:44 2012
New Revision: 241854
URL: http://svn.freebsd.org/changeset/base/241854
Log:
Colin acked the wrong diff originally. fixed version coming soon.
Approved by: cperciva (implicit)
Modified:
head/sys/kern/kern_sig.c
Modified: head/sys/kern/kern_sig.c
==============================================================================
--- head/sys/kern/kern_sig.c Mon Oct 22 03:34:43 2012 (r241853)
+++ head/sys/kern/kern_sig.c Mon Oct 22 03:36:44 2012 (r241854)
@@ -1599,10 +1599,8 @@ killpg1(struct thread *td, int sig, int
{
struct proc *p;
struct pgrp *pgrp;
- int err;
- int ret;
+ int nfound = 0;
- ret = ESRCH;
if (all) {
/*
* broadcast
@@ -1615,14 +1613,11 @@ killpg1(struct thread *td, int sig, int
PROC_UNLOCK(p);
continue;
}
- err = p_cansignal(td, p, sig);
- if (err == 0) {
+ if (p_cansignal(td, p, sig) == 0) {
+ nfound++;
if (sig)
pksignal(p, sig, ksi);
- ret = err;
}
- else if (ret == ESRCH)
- ret = err;
PROC_UNLOCK(p);
}
sx_sunlock(&allproc_lock);
@@ -1649,20 +1644,16 @@ killpg1(struct thread *td, int sig, int
PROC_UNLOCK(p);
continue;
}
- err = p_cansignal(td, p, sig);
- if (err == 0) {
+ if (p_cansignal(td, p, sig) == 0) {
+ nfound++;
if (sig)
pksignal(p, sig, ksi);
}
- if (err == 0)
- ret = err;
- else if (ret == ESRCH)
- ret = err;
PROC_UNLOCK(p);
}
PGRP_UNLOCK(pgrp);
}
- return (ret);
+ return (nfound ? 0 : ESRCH);
}
#ifndef _SYS_SYSPROTO_H_
More information about the svn-src-all
mailing list