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.
This commit is contained in:
Lennart Poettering
2015-10-08 15:03:31 +02:00
parent 40e1f4ea74
commit 3d18b16755
3 changed files with 30 additions and 36 deletions
+4 -4
View File
@@ -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");