char *control_file, int value_type, struct cntl_val_t cval,
struct uid_gid_t ids, int i);
int check_fsmounted(int multimnt);
-int check_task(char *tasksfile);
+int check_task(char *tasksfile, pid_t pid);
/* function to print messages in better format */
void message(int num, int pass, const char *api,
int ret, char *extra);
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 {
* 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;
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) {