[LTP] [PATCH v3] getpgid01: On Android, pgid(1) is 0 instead of 1
Edward Liaw
edliaw@google.com
Fri Oct 27 21:00:29 CEST 2023
Android's init does not call setpgid(0, 0) so it does not have pgid=1.
In either case, the pgid should match /proc/1/stat, so compare
getpgid(1) against that.
Signed-off-by: Edward Liaw <edliaw@google.com>
---
testcases/kernel/syscalls/getpgid/getpgid01.c | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/testcases/kernel/syscalls/getpgid/getpgid01.c b/testcases/kernel/syscalls/getpgid/getpgid01.c
index 479fe5dcb..de05a434b 100644
--- a/testcases/kernel/syscalls/getpgid/getpgid01.c
+++ b/testcases/kernel/syscalls/getpgid/getpgid01.c
@@ -13,6 +13,14 @@
#include "tst_test.h"
+static int get_init_pgid()
+{
+ int pgid;
+
+ SAFE_FILE_SCANF("/proc/1/stat", "%*d %*s %*c %*d %d", &pgid);
+ return pgid;
+}
+
static void run(void)
{
pid_t pid_1, child_pid, pgid;
@@ -37,7 +45,7 @@ static void run(void)
TST_EXP_EQ_LI(TST_RET, pgid);
TST_EXP_PID(getpgid(1));
- TST_EXP_EQ_LI(TST_RET, 1);
+ TST_EXP_EQ_LI(TST_RET, get_init_pgid());
}
tst_reap_children();
--
2.42.0.820.g83a721a137-goog
More information about the ltp
mailing list