aboutsummaryrefslogtreecommitdiff
path: root/src/common/SubProcess.cpp
diff options
context:
space:
mode:
authorcrupest <crupest@outlook.com>2024-06-10 13:40:32 +0800
committercrupest <crupest@outlook.com>2024-06-10 13:40:32 +0800
commit633c77d7cd2dd5cd22018aca17da1490e34d94ec (patch)
treeac007e9c84dbf662662f8b2ff06c2321945d2c6a /src/common/SubProcess.cpp
parent4725b4bc48722356fea4570ed7770137a0999491 (diff)
downloadcru-633c77d7cd2dd5cd22018aca17da1490e34d94ec.tar.gz
cru-633c77d7cd2dd5cd22018aca17da1490e34d94ec.tar.bz2
cru-633c77d7cd2dd5cd22018aca17da1490e34d94ec.zip
test: develop SubProcess test, fix various error.
NEED TEST: BufferStream, AutoReadStream, SubProcess.
Diffstat (limited to 'src/common/SubProcess.cpp')
-rw-r--r--src/common/SubProcess.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/common/SubProcess.cpp b/src/common/SubProcess.cpp
index fbe15859..e2738248 100644
--- a/src/common/SubProcess.cpp
+++ b/src/common/SubProcess.cpp
@@ -137,6 +137,15 @@ void PlatformSubProcessBase::SetDeleteSelfOnExit(bool enable) {
using PlatformSubProcess = platform::unix::PosixSpawnSubProcess;
#endif
+SubProcess SubProcess::Create(String program, std::vector<String> arguments,
+ std::unordered_map<String, String> environments) {
+ SubProcessStartInfo start_info;
+ start_info.program = std::move(program);
+ start_info.arguments = std::move(arguments);
+ start_info.environments = std::move(environments);
+ return SubProcess(std::move(start_info));
+}
+
SubProcess::SubProcess(SubProcessStartInfo start_info) {
platform_process_.reset(new PlatformSubProcess(std::move(start_info)));
platform_process_->Start();