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_ _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"