diff options
author | crupest <crupest@outlook.com> | 2024-05-18 23:08:05 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2024-05-18 23:08:05 +0800 |
commit | ad796a167e33b54c7fa23ea21c73d57dba4fc928 (patch) | |
tree | f5cc93b50971af9353215e1d9e12c4aa217a4fde /src/common | |
parent | c3cf29afa2b2dd3f2e972a25f35ef5840ad1e2f5 (diff) | |
download | cru-ad796a167e33b54c7fa23ea21c73d57dba4fc928.tar.gz cru-ad796a167e33b54c7fa23ea21c73d57dba4fc928.tar.bz2 cru-ad796a167e33b54c7fa23ea21c73d57dba4fc928.zip |
HALF WORK: add posix spawn subprocess io streams.
Diffstat (limited to 'src/common')
-rw-r--r-- | src/common/platform/unix/PosixSpawnSubProcess.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
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<UnixFileStream>( stderr_pipe_.GetSelfFileDescriptor(), false, true, false, false); + + stdout_buffer_stream_ = + std::make_unique<io::AutoReadStream>(stdout_stream_.get(), false); + stderr_buffer_stream_ = + std::make_unique<io::AutoReadStream>(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() {} |