summaryrefslogtreecommitdiff
path: root/src/execute.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-07-04 16:44:58 +0200
committerLennart Poettering <lennart@poettering.net>2010-07-04 16:44:58 +0200
commit82c121a4754a9d405b07c75796e329942af2ccc5 (patch)
treecb80da758516904383e2558b0cc626f0033e5a6e /src/execute.c
parentd264aa332a016501ae164a4316f0acc7da0636f4 (diff)
dbus: complete exec coverage
Diffstat (limited to 'src/execute.c')
-rw-r--r--src/execute.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/execute.c b/src/execute.c
index 9ded1c7788..0bdd60000b 100644
--- a/src/execute.c
+++ b/src/execute.c
@@ -1071,8 +1071,8 @@ int exec_spawn(ExecCommand *command,
}
}
- if (context->cpu_affinity_set)
- if (sched_setaffinity(0, sizeof(context->cpu_affinity), &context->cpu_affinity) < 0) {
+ if (context->cpuset)
+ if (sched_setaffinity(0, CPU_ALLOC_SIZE(context->cpuset_ncpus), context->cpuset) < 0) {
r = EXIT_CPUAFFINITY;
goto fail;
}
@@ -1350,6 +1350,9 @@ void exec_context_done(ExecContext *c) {
strv_free(c->inaccessible_dirs);
c->inaccessible_dirs = NULL;
+
+ if (c->cpuset)
+ CPU_FREE(c->cpuset);
}
void exec_command_done(ExecCommand *c) {
@@ -1458,10 +1461,10 @@ void exec_context_dump(ExecContext *c, FILE* f, const char *prefix) {
prefix, c->cpu_sched_priority,
prefix, yes_no(c->cpu_sched_reset_on_fork));
- if (c->cpu_affinity_set) {
+ if (c->cpuset) {
fprintf(f, "%sCPUAffinity:", prefix);
- for (i = 0; i < CPU_SETSIZE; i++)
- if (CPU_ISSET(i, &c->cpu_affinity))
+ for (i = 0; i < c->cpuset_ncpus; i++)
+ if (CPU_ISSET_S(i, CPU_ALLOC_SIZE(c->cpuset_ncpus), c->cpuset))
fprintf(f, " %i", i);
fputs("\n", f);
}