FreeRDP/winpr/libwinpr/interlocked
Norbert Federa 2b25b4a520 libwinpr-sync: New complete critical section code
- Complete implementation including recursion support
- Added an intensive ctest (TestSynchCritical)
- Struct members are used exactly as Windows does it internally:
  LockCount starts at -1, RecursionCount at 0
- Same performance optimizations as internally on Windows:
    - Fast lock acquisition path using CAS -> SpinCount -> wait
    - SpinCount automatically disabled on uniprocessor systems
- On Linux SpinCount is disabled because it provided no advantage over NPTL/futex in all tests

Support for CRITICAL_SECTION's DebugInfo is not yet included (but trivial to add).
2013-08-07 10:20:04 +02:00
..
test libwinpr: fix test build on Mac OS X 2012-10-25 15:34:57 -04:00
CMakeLists.txt libwinpr-sync: New complete critical section code 2013-08-07 10:20:04 +02:00
interlocked.c wfreerdp: minor 64-bit fixes 2013-04-10 21:15:38 -04:00
module.def winpr: stubbed pipe module, added some test stubs 2012-10-07 16:13:30 -04:00
ModuleOptions.cmake libwinpr: add module definition files 2012-09-21 13:02:54 -04:00