Fix thread_base::join

This commit is contained in:
Nekotekina 2020-03-21 10:36:04 +03:00
parent c577bd2111
commit 7f5dd1dd62

View file

@ -1990,16 +1990,13 @@ thread_base::~thread_base()
bool thread_base::join() const bool thread_base::join() const
{ {
for (auto state = m_state.load(); state != thread_state::finished;) for (auto state = m_state.load(); state != thread_state::finished && state != thread_state::errored;)
{ {
m_state.wait(state); m_state.wait(state);
state = m_state; state = m_state;
if (state == thread_state::errored)
return false;
} }
return true; return m_state.load() == thread_state::finished;
} }
void thread_base::notify() void thread_base::notify()