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
    • 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: