We have a setting for this, honour it also if we are invoked with
stdin passed in as fd.
Fixes: #29714
/* Try to make this the controlling tty, if it is a tty, and reset it */
if (isatty(STDIN_FILENO)) {
(void) ioctl(STDIN_FILENO, TIOCSCTTY, context->std_input == EXEC_INPUT_TTY_FORCE);
- (void) reset_terminal_fd(STDIN_FILENO, true);
+
+ if (context->tty_reset)
+ (void) reset_terminal_fd(STDIN_FILENO, /* switch_to_text= */ true);
+
(void) exec_context_apply_tty_size(context, STDIN_FILENO, /* tty_path= */ NULL);
}