mirror of
https://github.com/RGBCube/serenity
synced 2025-07-25 20:47:45 +00:00
Userland: Use Threading::MutexLocker to lock/unlock mutexes
This commit is contained in:
parent
466000e05f
commit
0c27d95e76
3 changed files with 15 additions and 20 deletions
|
@ -27,9 +27,8 @@ ConnectionToServer::ConnectionToServer(NonnullOwnPtr<Core::Stream::LocalSocket>
|
|||
Core::EventLoop enqueuer_loop;
|
||||
m_enqueuer_loop = &enqueuer_loop;
|
||||
enqueuer_loop.exec();
|
||||
m_enqueuer_loop_destruction.lock();
|
||||
Threading::MutexLocker const locker(m_enqueuer_loop_destruction);
|
||||
m_enqueuer_loop = nullptr;
|
||||
m_enqueuer_loop_destruction.unlock();
|
||||
return (intptr_t) nullptr;
|
||||
}))
|
||||
{
|
||||
|
@ -45,12 +44,10 @@ ConnectionToServer::~ConnectionToServer()
|
|||
void ConnectionToServer::die()
|
||||
{
|
||||
// We're sometimes getting here after the other thread has already exited and its event loop does no longer exist.
|
||||
m_enqueuer_loop_destruction.lock();
|
||||
if (m_enqueuer_loop != nullptr) {
|
||||
if (Threading::MutexLocker const locker(m_enqueuer_loop_destruction); m_enqueuer_loop != nullptr) {
|
||||
m_enqueuer_loop->wake();
|
||||
m_enqueuer_loop->quit(0);
|
||||
}
|
||||
m_enqueuer_loop_destruction.unlock();
|
||||
(void)m_background_audio_enqueuer->join();
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue