aboutsummaryrefslogtreecommitdiff
path: root/src/common/platform
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2024-05-18 23:08:05 +0800
committercrupest <crupest@outlook.com>2024-05-18 23:08:05 +0800
commitad796a167e33b54c7fa23ea21c73d57dba4fc928 (patch)
treef5cc93b50971af9353215e1d9e12c4aa217a4fde /src/common/platform
parentc3cf29afa2b2dd3f2e972a25f35ef5840ad1e2f5 (diff)
downloadcru-ad796a167e33b54c7fa23ea21c73d57dba4fc928.tar.gz
cru-ad796a167e33b54c7fa23ea21c73d57dba4fc928.tar.bz2
cru-ad796a167e33b54c7fa23ea21c73d57dba4fc928.zip
HALF WORK: add posix spawn subprocess io streams.
Diffstat (limited to 'src/common/platform')
-rw-r--r--src/common/platform/unix/PosixSpawnSubProcess.cpp19
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() {}