Skip to content
Snippets Groups Projects
  • Subv's avatar
    Kernel/Threads: A thread waking up by timeout from a WaitProcessWideKey may... · 9cd87a63
    Subv authored
    Kernel/Threads: A thread waking up by timeout from a WaitProcessWideKey may already have an assigned lock owner.
    
    This situation may happen like so:
    Thread 1 with low priority calls WaitProcessWideKey with timeout.
    Thread 2 with high priority calls WaitProcessWideKey without timeout.
    Thread 3 calls SignalProcessWideKey
    - Thread 2 acquires the lock and awakens.
    - Thread 1 can't acquire the lock and is put to sleep with the lock owner being Thread 2.
    Thread 1's timeout expires, with the lock owner still being set to Thread 2.
    9cd87a63