From: Lennart Poettering Date: Wed, 19 May 2010 02:28:25 +0000 (+0200) Subject: service: by default send service output to syslog, except for SysV services which... X-Git-Tag: v1~318 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=15ca554ba3a40e6840c6d6095ec90cf448720454;ds=sidebyside service: by default send service output to syslog, except for SysV services which should go to the console --- diff --git a/src/execute.c b/src/execute.c index 107683470..37b2f8412 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 2515cd305..0615b5149 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;