Date: Thu, 29 Jul 2010 16:40:45 +0000 (UTC) From: Jilles Tjoelker <jilles@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r210613 - head/bin/kill Message-ID: <201007291640.o6TGejWI095735@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: jilles Date: Thu Jul 29 16:40:45 2010 New Revision: 210613 URL: http://svn.freebsd.org/changeset/base/210613 Log: kill: Stop processing if a syntactically invalid pid is encountered. So a command like kill _HUP 1 now fails without sending SIGTERM to init. The behaviour when kill(2) fails remains unchanged: processing continues. This matches other implementations and POSIX and is useful for killing multiple processes at once when some of them may already be gone. PR: bin/40282 Modified: head/bin/kill/kill.c Modified: head/bin/kill/kill.c ============================================================================== --- head/bin/kill/kill.c Thu Jul 29 16:30:27 2010 (r210612) +++ head/bin/kill/kill.c Thu Jul 29 16:40:45 2010 (r210613) @@ -123,10 +123,9 @@ main(int argc, char *argv[]) for (errors = 0; argc; argc--, argv++) { pid = strtol(*argv, &ep, 10); - if (!**argv || *ep) { - warnx("illegal process id: %s", *argv); - errors = 1; - } else if (kill(pid, numsig) == -1) { + if (!**argv || *ep) + errx(1, "illegal process id: %s", *argv); + else if (kill(pid, numsig) == -1) { warn("%s", *argv); errors = 1; }
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201007291640.o6TGejWI095735>