summaryrefslogtreecommitdiffstats
path: root/src/main.c
diff options
context:
space:
mode:
authorRay Strode <rstrode@redhat.com>2007-10-21 19:49:44 -0400
committerRay Strode <rstrode@redhat.com>2007-10-21 19:49:44 -0400
commit431924effec5a2d028e08bf1d12be631ffafb26d (patch)
tree7193bf78e5117774203f91f2092305980c3bd28b /src/main.c
parent78302f06c38f4ada1100fee6a2f319a194f7c2ad (diff)
downloadplymouth-431924effec5a2d028e08bf1d12be631ffafb26d.tar.gz
plymouth-431924effec5a2d028e08bf1d12be631ffafb26d.tar.xz
plymouth-431924effec5a2d028e08bf1d12be631ffafb26d.zip
call chroot right before exec instead of right after fork
This is because we still need access to /dev/pts/1 until right before exec
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/src/main.c b/src/main.c
index e6feebc..3cc75ee 100644
--- a/src/main.c
+++ b/src/main.c
@@ -62,14 +62,6 @@ on_session_start (state_t *state)
"to start session: %m");
return;
}
-
- if (chroot (".") < 0)
- {
- ply_trace ("Could not change root back to original directory "
- "to start session: %m");
- return;
- }
- ply_trace ("changed to original root fs");
}
static void
@@ -165,6 +157,7 @@ spawn_session (state_t *state,
flags |= PLY_TERMINAL_SESSION_FLAGS_RUN_IN_PARENT;
flags |= PLY_TERMINAL_SESSION_FLAGS_LOOK_IN_PATH;
flags |= PLY_TERMINAL_SESSION_FLAGS_REDIRECT_CONSOLE;
+ flags |= PLY_TERMINAL_SESSION_FLAGS_CHANGE_ROOT_TO_CURRENT_DIRECTORY;
ply_trace ("opening terminal session for '%s'", argv[0]);
session = ply_terminal_session_new ((const char * const *) argv);