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

@@ -41,8 +41,11 @@ uint64_t ui_client_start_server(int argc, char **argv)
}
args[args_idx++] = NULL;
CallbackReader on_err = CALLBACK_READER_INIT;
on_err.fwd_err = true;
Channel *channel = channel_job_start(args, CALLBACK_READER_INIT,
CALLBACK_READER_INIT, CALLBACK_NONE,
on_err, CALLBACK_NONE,
false, true, true, false, kChannelStdinPipe,
NULL, 0, 0, NULL, &exit_status);
if (ui_client_forward_stdin) {