chiark / gitweb /
service: make sure sysv services marked as interactive in the LSB header get output...
authorLennart Poettering <lennart@poettering.net>
Thu, 19 Aug 2010 00:42:07 +0000 (02:42 +0200)
committerLennart Poettering <lennart@poettering.net>
Fri, 20 Aug 2010 00:31:54 +0000 (02:31 +0200)
fixme
src/service.c

diff --git a/fixme b/fixme
index df80d8a967a0cf8a69e199296982d5f7c2df1f19..a8a0dadc345e6087c8f12ee298eb69f3bdc508ae 100644 (file)
--- a/fixme
+++ b/fixme
@@ -64,8 +64,6 @@
 
 * systemctl: ln -s output muss abschaltbar sein, und warning wenn [Install] leer ist.
 
-* X-Interactive is kaputt
-
 * bash completion a la gdbus
 
 External:
index ff74a6d6689576d07ad5d6c045215b5d37adb3c1..80cd6ad9c65eddb43a2d4b15986d5588b52f4594 100644 (file)
@@ -708,7 +708,9 @@ static int service_load_sysv_path(Service *s, const char *path) {
         s->type = SERVICE_FORKING;
         s->remain_after_exit = true;
         s->restart = SERVICE_ONCE;
-        s->exec_context.std_output = s->meta.manager->sysv_console ? EXEC_OUTPUT_TTY : EXEC_OUTPUT_NULL;
+        s->exec_context.std_output =
+                (s->meta.manager->sysv_console || s->exec_context.std_input == EXEC_INPUT_TTY)
+                ? EXEC_OUTPUT_TTY : EXEC_OUTPUT_NULL;
         s->exec_context.kill_mode = KILL_PROCESS_GROUP;
 
         u->meta.load_state = UNIT_LOADED;