Move platform based code in separate .cpp files for AtomicWaitable and use respective OS primitives.

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Gone away
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Service Arch
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      SERVER-81797 introduces AtomicWaitable type and uses futex sys operations for linux and mutex+condition_var solution for non linux. 

      1. Add separate .cpp files for windows, linux and macOS
      2. Use OS based wake/wait functions. 

       

      For windows - it can use WaitOnAddress / WakeByAddressSingle / WakeByAddressAll

      On MacOS - we can use[ _ulock_wait/_ulock_wake|https://outerproduct.net/futex-dictionary.html#macos].

            Assignee:
            [DO NOT USE] Backlog - Service Architecture
            Reporter:
            Vinod Kumar (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: