summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-05-19 04:28:25 +0200
committerLennart Poettering <lennart@poettering.net>2010-05-19 04:28:25 +0200
commit15ca554ba3a40e6840c6d6095ec90cf448720454 (patch)
tree0b0a7884d483775865d9a7c9b8a49ec3284da7d2
parent56d748b47e289fc0fcdf7925df1580afbc2d220a (diff)
service: by default send service output to syslog, except for SysV services which should go to the console
-rw-r--r--src/execute.c4
-rw-r--r--src/service.c5
2 files changed, 9 insertions, 0 deletions
diff --git a/src/execute.c b/src/execute.c
index 1076834702..37b2f8412c 100644
--- a/src/execute.c
+++ b/src/execute.c
@@ -1087,6 +1087,10 @@ void exec_context_init(ExecContext *c) {
c->cpu_sched_policy = SCHED_OTHER;
c->syslog_priority = LOG_DAEMON|LOG_INFO;
c->mount_flags = MS_SHARED;
+
+ c->std_input = EXEC_INPUT_NULL;
+ c->std_output = EXEC_OUTPUT_SYSLOG;
+ c->std_error = EXEC_OUTPUT_SYSLOG;
}
void exec_context_done(ExecContext *c) {
diff --git a/src/service.c b/src/service.c
index 2515cd305f..0615b51490 100644
--- a/src/service.c
+++ b/src/service.c
@@ -632,6 +632,11 @@ static int service_load_sysv_path(Service *s, const char *path) {
s->valid_no_process = true;
s->kill_mode = KILL_PROCESS_GROUP;
+ /* For SysV services log output should go to the console */
+ s->exec_context.std_input = EXEC_INPUT_NULL;
+ s->exec_context.std_output = EXEC_OUTPUT_TTY;
+ s->exec_context.std_error = EXEC_OUTPUT_TTY;
+
u->meta.load_state = UNIT_LOADED;
r = 0;