1
Fork 0
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:
Oleg Kosenkov 2022-10-30 02:34:38 -04:00 committed by Andreas Kling
parent 466000e05f
commit 0c27d95e76
3 changed files with 15 additions and 20 deletions

View file

@ -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();
}