From 937e64e8a115a0d6d7e6e2c466b03945b71114bc Mon Sep 17 00:00:00 2001 From: crupest Date: Mon, 24 Jun 2024 00:06:25 +0800 Subject: fix: fix PosixSpawnSubProcessi bug. NEED TEST: BufferStream, AutoReadStream, SubProcess. --- include/cru/common/SubProcess.h | 8 ++++---- include/cru/common/io/AutoReadStream.h | 1 - 2 files changed, 4 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/cru/common/SubProcess.h b/include/cru/common/SubProcess.h index 1f7193b5..86dd3ebe 100644 --- a/include/cru/common/SubProcess.h +++ b/include/cru/common/SubProcess.h @@ -188,9 +188,9 @@ class PlatformSubProcessBase : public Object { bool delete_self_; std::thread process_thread_; - std::mutex process_mutex_; - std::unique_lock process_lock_; - std::condition_variable process_condition_variable_; + std::recursive_mutex process_mutex_; + std::unique_lock process_lock_; + std::condition_variable_any process_condition_variable_; }; class CRU_BASE_API SubProcess : public Object { @@ -212,7 +212,7 @@ class CRU_BASE_API SubProcess : public Object { ~SubProcess(); public: - void Wait(std::optional wait_time); + void Wait(std::optional wait_time = std::nullopt); void Kill(); SubProcessStatus GetStatus(); diff --git a/include/cru/common/io/AutoReadStream.h b/include/cru/common/io/AutoReadStream.h index 2887b319..b416d050 100644 --- a/include/cru/common/io/AutoReadStream.h +++ b/include/cru/common/io/AutoReadStream.h @@ -5,7 +5,6 @@ #include "Stream.h" #include -#include namespace cru::io { struct AutoReadStreamOptions { -- cgit v1.2.3