mirror of
https://github.com/Ryubing/Ryujinx.git
synced 2025-03-12 10:04:24 +00:00

TryDequeue checks for _disposed before taking the lock. If another thread calls Dispose before it takes the lock, it won't get woken up by the PulseAll call, and will deadlock in Monitor.Wait. Double-checking _disposed with the lock taken should avoid this.