From 7e6fbc485494fcd8600d46316b9573615fb02b45 Mon Sep 17 00:00:00 2001 From: Masamichi Takagi Date: Thu, 11 Sep 2014 15:14:48 +0900 Subject: [PATCH] Support negative first argument in waitpid Make waitpid wait any process with the pgid of -<1st-arg> when setting minus value to the first argument. --- kernel/syscall.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/kernel/syscall.c b/kernel/syscall.c index 92b359cc..c0628e38 100644 --- a/kernel/syscall.c +++ b/kernel/syscall.c @@ -327,7 +327,10 @@ rescan: ihk_mc_spinlock_lock_noirq(&child_iter->lock); - if (pid == -1 || (pid == 0 && pgid == child_iter->pgid) || pid == child_iter->pid) { + if ((pid < 0 && -pid == child_iter->pgid) || + pid == -1 || + (pid == 0 && pgid == child_iter->pgid) || + (pid > 0 && pid == child_iter->pid)) { child = child_iter; break; }