mirror of
https://github.com/oatpp/oatpp.git
synced 2025-02-17 17:29:57 +08:00
Merge pull request #1005 from jerry-skydio/jerry/revup/master/des
Fix std::thread assertion on destruction
This commit is contained in:
commit
bc10721208
@ -66,16 +66,22 @@ void Executor::SubmissionProcessor::pushOneTask(CoroutineHandle* task) {
|
||||
}
|
||||
|
||||
void Executor::SubmissionProcessor::stop() {
|
||||
m_isRunning = false;
|
||||
m_processor.stop();
|
||||
if (m_isRunning) {
|
||||
m_isRunning = false;
|
||||
m_processor.stop();
|
||||
}
|
||||
}
|
||||
|
||||
void Executor::SubmissionProcessor::join() {
|
||||
m_thread.join();
|
||||
if (m_thread.joinable()) {
|
||||
m_thread.join();
|
||||
}
|
||||
}
|
||||
|
||||
void Executor::SubmissionProcessor::detach() {
|
||||
m_thread.detach();
|
||||
if (m_thread.joinable()) {
|
||||
m_thread.detach();
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
@ -54,6 +54,10 @@ private:
|
||||
std::thread m_thread;
|
||||
public:
|
||||
SubmissionProcessor();
|
||||
~SubmissionProcessor() override {
|
||||
stop();
|
||||
join();
|
||||
}
|
||||
public:
|
||||
|
||||
template<typename CoroutineType, typename ... Args>
|
||||
|
Loading…
Reference in New Issue
Block a user