diff options
author | crupest <crupest@outlook.com> | 2024-06-24 00:06:25 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2024-07-16 22:01:11 +0800 |
commit | 937e64e8a115a0d6d7e6e2c466b03945b71114bc (patch) | |
tree | 7e54a959b892e3adfb44573d91e19dcb9d532105 /include | |
parent | 807c1dfe8a897f9c61bf3549ff2566917b53023b (diff) | |
download | cru-937e64e8a115a0d6d7e6e2c466b03945b71114bc.tar.gz cru-937e64e8a115a0d6d7e6e2c466b03945b71114bc.tar.bz2 cru-937e64e8a115a0d6d7e6e2c466b03945b71114bc.zip |
fix: fix PosixSpawnSubProcessi bug.
NEED TEST: BufferStream, AutoReadStream, SubProcess.
Diffstat (limited to 'include')
-rw-r--r-- | include/cru/common/SubProcess.h | 8 | ||||
-rw-r--r-- | include/cru/common/io/AutoReadStream.h | 1 |
2 files changed, 4 insertions, 5 deletions
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<std::mutex> process_lock_; - std::condition_variable process_condition_variable_; + std::recursive_mutex process_mutex_; + std::unique_lock<std::recursive_mutex> 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<std::chrono::milliseconds> wait_time); + void Wait(std::optional<std::chrono::milliseconds> 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 <mutex> -#include <thread> namespace cru::io { struct AutoReadStreamOptions { |