chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge remote branch 'kay/master'
[elogind.git]
/
execute.c
diff --git
a/execute.c
b/execute.c
index ae32bcadac53f871a485729eb19b6b097a06323d..db24ed9ee0a4493313f60e2b70d2b9ec7c91e7d3 100644
(file)
--- a/
execute.c
+++ b/
execute.c
@@
-1,5
+1,7
@@
/*-*- Mode: C; c-basic-offset: 8 -*-*/
/*-*- Mode: C; c-basic-offset: 8 -*-*/
+#pragma GCC diagnostic ignored "-Wattributes"
+
#include <assert.h>
#include <dirent.h>
#include <errno.h>
#include <assert.h>
#include <dirent.h>
#include <errno.h>
@@
-10,7
+12,7
@@
#include <sys/socket.h>
#include <sys/un.h>
#include <sys/prctl.h>
#include <sys/socket.h>
#include <sys/un.h>
#include <sys/prctl.h>
-#include <sched.h>
+#include <
linux/
sched.h>
#include "execute.h"
#include "strv.h"
#include "execute.h"
#include "strv.h"
@@
-347,7
+349,8
@@
int exec_spawn(const ExecCommand *command, const ExecContext *context, int *fds,
zero(param);
param.sched_priority = context->cpu_sched_priority;
zero(param);
param.sched_priority = context->cpu_sched_priority;
- if (sched_setscheduler(0, context->cpu_sched_policy, ¶m) < 0) {
+ if (sched_setscheduler(0, context->cpu_sched_policy |
+ (context->cpu_sched_reset_on_fork ? SCHED_RESET_ON_FORK : 0), ¶m) < 0) {
r = EXIT_SETSCHEDULER;
goto fail;
}
r = EXIT_SETSCHEDULER;
goto fail;
}
@@
-563,9
+566,11
@@
void exec_context_dump(ExecContext *c, FILE* f, const char *prefix) {
if (c->cpu_sched_set)
fprintf(f,
"%sCPUSchedulingPolicy: %s\n"
if (c->cpu_sched_set)
fprintf(f,
"%sCPUSchedulingPolicy: %s\n"
- "%sCPUSchedulingPriority: %i\n",
+ "%sCPUSchedulingPriority: %i\n"
+ "%sCPUSchedulingResetOnFork: %s\n",
prefix, sched_policy_to_string(c->cpu_sched_policy),
prefix, sched_policy_to_string(c->cpu_sched_policy),
- prefix, c->cpu_sched_priority);
+ prefix, c->cpu_sched_priority,
+ prefix, yes_no(c->cpu_sched_reset_on_fork));
if (c->cpu_affinity_set) {
fprintf(f, "%sCPUAffinity:", prefix);
if (c->cpu_affinity_set) {
fprintf(f, "%sCPUAffinity:", prefix);