chiark / gitweb /
service: by default send service output to syslog, except for SysV services which...
[elogind.git] / src / execute.c
index 12f514504cabac8261fa3b39e863bf9841615718..37b2f8412c87af5ec18c2553941e874325ce87b5 100644 (file)
@@ -274,7 +274,8 @@ static int setup_input(const ExecContext *context, int socket_fd) {
                 if ((fd = acquire_terminal(
                                      tty_path(context),
                                      i == EXEC_INPUT_TTY_FAIL,
-                                     i == EXEC_INPUT_TTY_FORCE)) < 0)
+                                     i == EXEC_INPUT_TTY_FORCE,
+                                     false)) < 0)
                         return fd;
 
                 if (fd != STDIN_FILENO) {
@@ -429,7 +430,8 @@ static int setup_confirm_stdio(const ExecContext *context,
         if ((fd = acquire_terminal(
                              tty_path(context),
                              context->std_input == EXEC_INPUT_TTY_FAIL,
-                             context->std_input == EXEC_INPUT_TTY_FORCE)) < 0) {
+                             context->std_input == EXEC_INPUT_TTY_FORCE,
+                             false)) < 0) {
                 r = EXIT_STDIN;
                 goto fail;
         }
@@ -1085,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) {