summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2010-08-19 02:42:07 +0200
committerLennart Poettering <lennart@poettering.net>2010-08-20 02:31:54 +0200
commit8a2b3c097b5ebd53348700f591e50530a82b5cea (patch)
treec5fa29fdb11c831bc8b85293ea69d0d5e80354e2
parent71e401273777ca59ebe2c2957cbdf370a791a21e (diff)
downloadsystemd-8a2b3c097b5ebd53348700f591e50530a82b5cea.tar.gz
service: make sure sysv services marked as interactive in the LSB header get output on the TTY in all cases
-rw-r--r--fixme2
-rw-r--r--src/service.c4
2 files changed, 3 insertions, 3 deletions
diff --git a/fixme b/fixme
index df80d8a967..a8a0dadc34 100644
--- 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:
diff --git a/src/service.c b/src/service.c
index ff74a6d668..80cd6ad9c6 100644
--- a/src/service.c
+++ b/src/service.c
@@ -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;