From ad796a167e33b54c7fa23ea21c73d57dba4fc928 Mon Sep 17 00:00:00 2001 From: crupest Date: Sat, 18 May 2024 23:08:05 +0800 Subject: HALF WORK: add posix spawn subprocess io streams. --- src/common/platform/unix/PosixSpawnSubProcess.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'src/common/platform/unix') diff --git a/src/common/platform/unix/PosixSpawnSubProcess.cpp b/src/common/platform/unix/PosixSpawnSubProcess.cpp index 7d5ba6e4..0eb5615d 100644 --- a/src/common/platform/unix/PosixSpawnSubProcess.cpp +++ b/src/common/platform/unix/PosixSpawnSubProcess.cpp @@ -19,14 +19,29 @@ PosixSpawnSubProcess::PosixSpawnSubProcess( stdout_pipe_.GetSelfFileDescriptor(), false, true, false, false); stderr_stream_ = std::make_unique( stderr_pipe_.GetSelfFileDescriptor(), false, true, false, false); + + stdout_buffer_stream_ = + std::make_unique(stdout_stream_.get(), false); + stderr_buffer_stream_ = + std::make_unique(stdout_stream_.get(), false); } PosixSpawnSubProcess::~PosixSpawnSubProcess() {} -void PosixSpawnSubProcess::PlatformCreateProcess() { - +io::Stream* PosixSpawnSubProcess::GetStdinStream() { + return stdin_stream_.get(); +} + +io::Stream* PosixSpawnSubProcess::GetStdoutStream() { + return stdout_buffer_stream_.get(); } +io::Stream* PosixSpawnSubProcess::GetStderrStream() { + return stderr_buffer_stream_.get(); +} + +void PosixSpawnSubProcess::PlatformCreateProcess() {} + PlatformSubProcessExitResult PosixSpawnSubProcess::PlatformWaitForProcess() {} void PosixSpawnSubProcess::PlatformKillProcess() {} -- cgit v1.2.3