]> git.ipfire.org Git - people/ms/systemd.git/blame - execute.c
add simple event loop
[people/ms/systemd.git] / execute.c
CommitLineData
5cb5a6ff
LP
1/*-*- Mode: C; c-basic-offset: 8 -*-*/
2
3#include <assert.h>
4
5#include "execute.h"
6#include "strv.h"
7#include "macro.h"
8#include "util.h"
9
10int exec_spawn(const ExecCommand *command, const ExecContext *context, pid_t *ret) {
11 assert(command);
12 assert(context);
13 assert(ret);
14
15 return 0;
16}
17
18void exec_context_free(ExecContext *c) {
19 unsigned l;
20
21 assert(c);
22
23 strv_free(c->environment);
24
25 for (l = 0; l < ELEMENTSOF(c->rlimit); l++)
26 free(c->rlimit[l]);
27
28 free(c->chdir);
29 free(c->user);
30 free(c->group);
31 free(c->supplementary_groups);
32}
33
34void exec_command_free_list(ExecCommand *c) {
35 ExecCommand *i;
36
37 while ((i = c)) {
38 LIST_REMOVE(ExecCommand, c, i);
39
40 free(i->path);
41 free(i->argv);
42 free(i);
43 }
44}
45
46void exec_context_dump(ExecContext *c, FILE* f, const char *prefix) {
47 assert(c);
48 assert(f);
49
50 if (!prefix)
51 prefix = "";
52
53 fprintf(f,
54 "%sUmask: %04o\n"
55 "%sDumpable: %s\n"
56 "%sDirectory: %s\n",
57 prefix, c->umask,
58 prefix, yes_no(c->dumpable),
59 prefix, c->chdir ? c->chdir : "/");
60}
61
62void exec_context_defaults(ExecContext *c) {
63 assert(c);
64
65 c->umask = 0002;
66 cap_clear(c->capabilities);
67 c->dumpable = true;
68}