2
0
mirror of https://github.com/checkpoint-restore/criu synced 2025-08-30 13:58:34 +00:00

Avoid unnecessary getpid() calls

getsid(0) and getpgid(0) will return session ID and PGID of
the calling process.

Signed-off-by: Radostin Stoyanov <rstoyanov1@gmail.com>
Signed-off-by: Andrei Vagin <avagin@gmail.com>
This commit is contained in:
Radostin Stoyanov
2019-01-17 20:33:04 +00:00
committed by Andrei Vagin
parent 901f5d48ec
commit 1be8269cd0
4 changed files with 11 additions and 11 deletions

View File

@@ -1488,7 +1488,7 @@ static void restore_sid(void)
exit(1); exit(1);
} }
} else { } else {
sid = getsid(getpid()); sid = getsid(0);
if (sid != current->sid) { if (sid != current->sid) {
/* Skip the root task if it's not init */ /* Skip the root task if it's not init */
if (current == root_item && vpid(root_item) != INIT_PID) if (current == root_item && vpid(root_item) != INIT_PID)
@@ -1593,7 +1593,7 @@ static int create_children_and_session(void)
if (!restore_before_setsid(child)) if (!restore_before_setsid(child))
continue; continue;
BUG_ON(child->born_sid != -1 && getsid(getpid()) != child->born_sid); BUG_ON(child->born_sid != -1 && getsid(0) != child->born_sid);
ret = fork_with_pid(child); ret = fork_with_pid(child);
if (ret < 0) if (ret < 0)

View File

@@ -90,7 +90,7 @@ static int fork_child(int i)
close(p[1]); close(p[1]);
wait(NULL); wait(NULL);
if (getsid(getpid()) != sid) { if (getsid(0) != sid) {
fail("The process %d (%x) has SID=%d (expected %d)", fail("The process %d (%x) has SID=%d (expected %d)",
pid, testcases[i].flags, sid, testcases[i].sid); pid, testcases[i].flags, sid, testcases[i].sid);
exit(1); exit(1);
@@ -117,7 +117,7 @@ static int fork_child(int i)
close(p[1]); close(p[1]);
wait(NULL); wait(NULL);
if (getsid(getpid()) != sid) { if (getsid(0) != sid) {
fail("The process %d (%x) has SID=%d (expected %d)", fail("The process %d (%x) has SID=%d (expected %d)",
pid, testcases[i].flags, sid, testcases[i].sid); pid, testcases[i].flags, sid, testcases[i].sid);
exit(1); exit(1);

View File

@@ -102,14 +102,14 @@ static int child(const int c)
goto err; goto err;
if (t->pid == t->sid) { if (t->pid == t->sid) {
if (getpid() != getsid(getpid())) if (getpid() != getsid(0))
if (setsid() < 0) if (setsid() < 0)
goto err; goto err;
if (fork_children(t, 1)) if (fork_children(t, 1))
goto err; goto err;
} }
if (t->pid == t->pgid) { if (t->pid == t->pgid) {
if (getpid() != getpgid(getpid())) if (getpid() != getpgid(0))
if (setpgid(getpid(), getpid()) < 0) { if (setpgid(getpid(), getpid()) < 0) {
pr_perror("setpgid() failed"); pr_perror("setpgid() failed");
goto err; goto err;
@@ -129,7 +129,7 @@ static int child(const int c)
break; break;
if (t->pgid != testcases[i].pid) if (t->pgid != testcases[i].pid)
continue; continue;
if (getpgid(getpid()) != testcases[i].master.pid) if (getpgid(0) != testcases[i].master.pid)
if (setpgid(getpid(), testcases[i].master.pid) < 0) { if (setpgid(getpid(), testcases[i].master.pid) < 0) {
pr_perror("setpgid() failed (%d) (%d)", c, i); pr_perror("setpgid() failed (%d) (%d)", c, i);
goto err; goto err;
@@ -161,7 +161,7 @@ static int child(const int c)
/* Save the master copy */ /* Save the master copy */
t->master.ppid = getppid(); t->master.ppid = getppid();
t->master.sid = getsid(getpid()); t->master.sid = getsid(0);
futex_set_and_wake(&t->futex, c); futex_set_and_wake(&t->futex, c);
@@ -169,8 +169,8 @@ static int child(const int c)
check("pid", t->master.pid, getpid()); check("pid", t->master.pid, getpid());
check("ppid", t->master.ppid, getppid()); check("ppid", t->master.ppid, getppid());
check("sid", t->master.sid, getsid(getpid())); check("sid", t->master.sid, getsid(0));
check("pgid", t->master.pgid, getpgid(getpid())); check("pgid", t->master.pgid, getpgid(0));
futex_set_and_wake(&t->futex, c); futex_set_and_wake(&t->futex, c);

View File

@@ -177,7 +177,7 @@ static void handle_command()
} }
break; break;
case TEST_SETSID: case TEST_SETSID:
if (getsid(getpid()) == getpid()) if (getsid(0) == getpid())
break; break;
test_msg("%3d: setsid()\n", current); test_msg("%3d: setsid()\n", current);
if(setsid() == -1) { if(setsid() == -1) {