chiark / gitweb /
service: by default send service output to syslog, except for SysV services which...
authorLennart Poettering <lennart@poettering.net>
Wed, 19 May 2010 02:28:25 +0000 (04:28 +0200)
committerLennart Poettering <lennart@poettering.net>
Wed, 19 May 2010 02:28:25 +0000 (04:28 +0200)
src/execute.c
src/service.c

index 1076834..37b2f84 100644 (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) {
index 2515cd3..0615b51 100644 (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;