service: by default send service output to syslog, except for SysV services which should go to the console

This commit is contained in:
Lennart Poettering 2010-05-19 04:28:25 +02:00
parent 56d748b47e
commit 15ca554ba3
2 changed files with 9 additions and 0 deletions

View File

@ -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) {

View File

@ -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;