Make SemaphoreSlimSignalable.Signal end SemaphoreSlimSignalable.WaitSignaledAsync immediately

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Done
    • Priority: Unknown
    • 2.14.0
    • Affects Version/s: None
    • Component/s: Internal
    • None
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      As an optimization for preventing WaitSignaledAsync task execution to continue on Signal thread, cancelation was scheduled on another thread with 0ms timeout. This introduced a race condition where WaitSignaledAsync can succeed despite being signaled.

      Eliminate this race condition and prevent WaitSignaledAsync to be resumed on Signal thread.

              Assignee:
              Boris Dogadov
              Reporter:
              Boris Dogadov
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: