mirror of
https://github.com/SerenityOS/serenity
synced 2026-05-13 10:27:05 +02:00
There was a time window between releasing Lock::m_lock and calling into the lock's WaitQueue where someone else could take m_lock and bring two threads into a deadlock situation. Fix this issue by holding Lock::m_lock until interrupts are disabled by either Thread::wait_on() or WaitQueue::wake_one().
723 B
723 B