summaryrefslogtreecommitdiff
path: root/src/basic/terminal-util.c
diff options
context:
space:
mode:
authorLennart Poettering <lennart@poettering.net>2015-10-08 14:33:53 +0200
committerLennart Poettering <lennart@poettering.net>2015-10-08 15:03:31 +0200
commit3d18b167558bde95a076b16d40f9454f169e70ba (patch)
treed83b8eb2445e593f93a8e1e60f53e648f69c969a /src/basic/terminal-util.c
parent40e1f4ea7458a0a80eaf1ef356e52bfe0835412e (diff)
util: do not reset terminal in acquire_terminal()
Before, we'd always reset acquired terminals, which is not really desired, as we expose a setting TTYReset= which is supposed to control whether the TTY is reset or not. Previously that setting would only enable a second resetting of the TTY, which is of course pointless... Hence, move the implicit resetting out of acquire_terminal() and make the callers do it if they need it.
Diffstat (limited to 'src/basic/terminal-util.c')
-rw-r--r--src/basic/terminal-util.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/basic/terminal-util.c b/src/basic/terminal-util.c
index e9097d8ae5..1bda9564fb 100644
--- a/src/basic/terminal-util.c
+++ b/src/basic/terminal-util.c
@@ -480,10 +480,6 @@ int acquire_terminal(
safe_close(notify);
- r = reset_terminal_fd(fd, true);
- if (r < 0)
- log_warning_errno(r, "Failed to reset terminal: %m");
-
return fd;
fail:
@@ -616,6 +612,10 @@ int make_console_stdio(void) {
if (fd < 0)
return log_error_errno(fd, "Failed to acquire terminal: %m");
+ r = reset_terminal_fd(fd, true);
+ if (r < 0)
+ log_warning_errno(r, "Failed to reset terminal, ignoring: %m");
+
r = make_stdio(fd);
if (r < 0)
return log_error_errno(r, "Failed to duplicate terminal fd: %m");