diff options
author | Daniel Mack <zonque@gmail.com> | 2014-08-23 15:28:37 +0200 |
---|---|---|
committer | Daniel Mack <daniel@zonque.org> | 2014-09-05 12:18:57 +0200 |
commit | 9fa95f8539a380e93f760956bc6982e57f5bf3af (patch) | |
tree | f774c011d5563d2d381e91e1b50ac5c1e2e674e6 /src/core/swap.c | |
parent | a4390b6be8869172ccdd16fef208803fc6c7a114 (diff) |
exec: factor out most function arguments of exec_spawn() to ExecParameters
This way, the list of arguments to that function gets more comprehensive,
and we can get around passing lots of NULL and 0 arguments from socket.c,
swap.c and mount.c.
It also allows for splitting up the code in exec_spawn().
While at it, make ExecContext const in execute.c.
Diffstat (limited to 'src/core/swap.c')
-rw-r--r-- | src/core/swap.c | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/src/core/swap.c b/src/core/swap.c index 9f353af430..019d32ed0d 100644 --- a/src/core/swap.c +++ b/src/core/swap.c @@ -619,6 +619,11 @@ static void swap_dump(Unit *u, FILE *f, const char *prefix) { static int swap_spawn(Swap *s, ExecCommand *c, pid_t *_pid) { pid_t pid; int r; + ExecParameters exec_params = { + .apply_permissions = true, + .apply_chroot = true, + .apply_tty_stdin = true, + }; assert(s); assert(c); @@ -634,21 +639,16 @@ static int swap_spawn(Swap *s, ExecCommand *c, pid_t *_pid) { if (r < 0) goto fail; + exec_params.environment = UNIT(s)->manager->environment; + exec_params.confirm_spawn = UNIT(s)->manager->confirm_spawn; + exec_params.cgroup_supported = UNIT(s)->manager->cgroup_supported; + exec_params.cgroup_path = UNIT(s)->cgroup_path; + exec_params.runtime_prefix = manager_get_runtime_prefix(UNIT(s)->manager); + exec_params.unit_id = UNIT(s)->id; + r = exec_spawn(c, - NULL, &s->exec_context, - NULL, 0, - UNIT(s)->manager->environment, - true, - true, - true, - UNIT(s)->manager->confirm_spawn, - UNIT(s)->manager->cgroup_supported, - UNIT(s)->cgroup_path, - manager_get_runtime_prefix(UNIT(s)->manager), - UNIT(s)->id, - 0, - NULL, + &exec_params, s->exec_runtime, &pid); if (r < 0) |