diff options
author | Dhaval Giani <dhaval@linux.vnet.ibm.com> | 2009-01-09 16:27:48 +0000 |
---|---|---|
committer | Dhaval Giani <dhaval@linux.vnet.ibm.com> | 2009-01-09 16:27:48 +0000 |
commit | 5e0a47a2382b58e15336a742017a57e24611375f (patch) | |
tree | 1dc7562d25f4309b766565ee82d1e61ef1c3c757 /tests/test_functions.c | |
parent | 216ef3fa583b751c3f76f8812f947fe3b61c58d9 (diff) | |
download | libcg-5e0a47a2382b58e15336a742017a57e24611375f.tar.gz libcg-5e0a47a2382b58e15336a742017a57e24611375f.tar.xz libcg-5e0a47a2382b58e15336a742017a57e24611375f.zip |
libcgrouptest: let check_task() receive a pid as argument
From: Sudhir Kumar <skumar@linux.vnet.ibm.com>
The patch would get a reject because of modifications in an earlier
patch. Hence updating the patch by fixing the reject.
This patch makes the function check_task() capable of checking if a pid
other than the calling process is attached to a particlular group. Earlier
it was checking for the calling process only.
For optimization purpose 0 is used to indicate that the task to be attached
is the current task and hence call cgroup_gettid() only once.
Signed-off-by: Sudhir Kumar <skumar@linux.vnet.ibm.com>
Acked-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com>
git-svn-id: https://libcg.svn.sourceforge.net/svnroot/libcg/trunk@311 4f4bb910-9a46-0410-90c8-c897d4f1cd53
Diffstat (limited to 'tests/test_functions.c')
-rw-r--r-- | tests/test_functions.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/tests/test_functions.c b/tests/test_functions.c index 4b8bcbb..fcdd308 100644 --- a/tests/test_functions.c +++ b/tests/test_functions.c @@ -96,12 +96,12 @@ void test_cgroup_attach_task(int retcode, struct cgroup *cgrp, build_path(tasksfile, mountpoint, group1, "tasks"); - if (check_task(tasksfile)) { + if (check_task(tasksfile, 0)) { if (fs_mounted == 2) { /* multiple mounts */ build_path(tasksfile2, mountpoint2, group2, "tasks"); - if (check_task(tasksfile2)) { + if (check_task(tasksfile2, 0)) { message(i, PASS, "attach_task()", retval, info[TASKINGRP]); } else { @@ -613,7 +613,7 @@ error: * Checks if the current task belongs to the given tasks file * @param tasksfile the task file to be tested for the task */ -int check_task(char *tasksfile) +int check_task(char *tasksfile, pid_t pid) { FILE *file; pid_t curr_tid, tid; @@ -626,7 +626,11 @@ int check_task(char *tasksfile) exit(1); } - curr_tid = cgrouptest_gettid(); + if (pid) + curr_tid = pid; + else + curr_tid = cgrouptest_gettid(); + while (!feof(file)) { fscanf(file, "%u", &tid); if (tid == curr_tid) { |