fix(embed): handle stdio in server properly

Rename stdin/stdout in the server, so that RPC data won't get corrupted.
This also restores the use of stderr to write directly to the terminal.
This commit is contained in:
bfredl
2023-01-07 10:06:03 +01:00
parent c19bd47c0a
commit 1d16bba4d8
8 changed files with 40 additions and 11 deletions

View File

@@ -168,6 +168,14 @@ static struct termios termios_default;
/// @param tty_fd TTY file descriptor, or -1 if not in a terminal.
void pty_process_save_termios(int tty_fd)
{
if (embedded_mode) {
// TODO(bfredl): currently we cannot use the state of the host terminal in
// the server. when the TUI process launches the server, the state has already
// changed. we would need to serialize termios_default in the TUI process and
// transmit it. Altough, just always using the clean slate of init_termios() might
// be preferrable anyway.
return;
}
if (tty_fd == -1) {
return;
}