aboutsummaryrefslogtreecommitdiff
path: root/toys
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2016-05-23 10:46:47 -0700
committerRob Landley <rob@landley.net>2016-05-23 18:27:13 -0500
commite2ea4fc86b67b70b18df8bc27fcf4ec160d3ff7d (patch)
tree361a5bf4bbcdf942334f02619d440dc327f9a385 /toys
parent148a0c3760bfd6f03152f44422a48b37a4a9f393 (diff)
downloadtoybox-e2ea4fc86b67b70b18df8bc27fcf4ec160d3ff7d.tar.gz
Fix remaining pkill tests.
I don't know that anyone cares, but these failures made me think I'd broken something while testing the -SIGNAL patch. The -s parsing wasn't taking into account that -s 0 is a special case, and the -o test was assuming that pkill can tell the difference between two processes started at roughly the same time. Hopefully there's higher-resolution data available that can avoid the need for yet another sleep in the tests.
Diffstat (limited to 'toys')
-rw-r--r--toys/posix/ps.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/toys/posix/ps.c b/toys/posix/ps.c
index e5adc192..4f8d75a9 100644
--- a/toys/posix/ps.c
+++ b/toys/posix/ps.c
@@ -980,6 +980,8 @@ static char *parse_rest(void *data, char *str, int len)
if (isdigit(*str)) {
ll[pl->len] = xstrtol(str, &end, 10);
if (end==(len+str)) num++;
+ // For pkill, -s 0 represents pkill's session id.
+ if (pl==&TT.ss && ll[pl->len]==0) ll[pl->len] = getsid(0);
}
if (pl==&TT.pp || pl==&TT.ss) {