Skip to content
Snippets Groups Projects
  1. Mar 23, 2021
  2. Mar 22, 2021
  3. Mar 19, 2021
  4. Mar 18, 2021
  5. Mar 17, 2021
  6. Mar 16, 2021
  7. Mar 15, 2021
  8. Mar 13, 2021
  9. Mar 12, 2021
  10. Mar 11, 2021
  11. Mar 10, 2021
  12. Mar 09, 2021
    • Florian Schmaus's avatar
      Merge branch 'cq_lock2' into 'master' · f2d350c0
      Florian Schmaus authored
      [IO] make the lock implementation protecting a IoContext's cq configurable 
      
      See merge request !126
      f2d350c0
    • Florian Fischer's avatar
      [IO] make the lock implementation protecting a IoContext's cq configurable  · a619ba3e
      Florian Fischer authored
      This change introduces a new synchronization primitive "PseudoCountingTryLock"
      which takes an actual lock as template and provides a CountingTryLock interface.
      By using a PseudoCountingTryLock we don't have to change any synchronization
      code in IoContext::reapCompletion.
      
      Since all PseudoCountingTryLock code is defined in a header the compiler
      should see our constant return values and hopefully optimize away any check
      depending on those constant return values.
      
      Options:
      * spin_lock - naive CAS spin lock
      * mutex - std::mutex
      * counting_try_lock (default) - our own lightweight special
                                      purpose synchronization primitive
      a619ba3e
Loading