mirror of
https://github.com/RGBCube/serenity
synced 2025-07-23 14:07:42 +00:00
LibThreading: Add is_started state information to Thread
Users can now determine whether a thread has been started or not. A started thread might also have already terminated. Implementation note: We *could* detect this with pthread APIs maybe, but this is much simpler.
This commit is contained in:
parent
500dc83f32
commit
91913fba59
2 changed files with 3 additions and 0 deletions
|
@ -45,6 +45,7 @@ void Threading::Thread::start()
|
||||||
VERIFY(rc == 0);
|
VERIFY(rc == 0);
|
||||||
}
|
}
|
||||||
dbgln("Started thread \"{}\", tid = {}", m_thread_name, m_tid);
|
dbgln("Started thread \"{}\", tid = {}", m_thread_name, m_tid);
|
||||||
|
m_started = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Threading::Thread::detach()
|
void Threading::Thread::detach()
|
||||||
|
|
|
@ -32,6 +32,7 @@ public:
|
||||||
|
|
||||||
String thread_name() const { return m_thread_name; }
|
String thread_name() const { return m_thread_name; }
|
||||||
pthread_t tid() const { return m_tid; }
|
pthread_t tid() const { return m_tid; }
|
||||||
|
bool is_started() const { return m_started; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
explicit Thread(Function<intptr_t()> action, StringView thread_name = {});
|
explicit Thread(Function<intptr_t()> action, StringView thread_name = {});
|
||||||
|
@ -39,6 +40,7 @@ private:
|
||||||
pthread_t m_tid { 0 };
|
pthread_t m_tid { 0 };
|
||||||
String m_thread_name;
|
String m_thread_name;
|
||||||
bool m_detached { false };
|
bool m_detached { false };
|
||||||
|
bool m_started { false };
|
||||||
};
|
};
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue