Commit Graph

31 Commits

Author SHA1 Message Date
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
Marc-André Moreau
e7436a1a9d wfreerdp: minor 64-bit fixes 2013-04-10 21:15:38 -04:00
Daryl Poe
d393a26790 allow GCC compile with no compare_and_swap_8 2012-12-14 15:41:02 -07:00
Marc-André Moreau
b7a289f843 libwinpr: fix test build on Mac OS X 2012-10-25 15:34:57 -04:00
Marc-André Moreau
d5b635c9e8 libwinpr-library: improve library tests 2012-10-18 16:58:27 -04:00
Marc-André Moreau
dd23dd1aee ctest: change default output test path 2012-10-18 15:37:00 -04:00
Marc-André Moreau
e764c81ad5 freerdp: fix building of libraries for Android 2012-10-13 20:31:01 -04:00
Marc-André Moreau
229438dbf3 cmake: fix monolithic test build 2012-10-13 17:38:02 -04:00
Marc-André Moreau
06fa85f31c cmake: refactoring of MONOLITHIC_BUILD 2012-10-13 17:30:59 -04:00
Marc-André Moreau
2ee9f23a8e cmake: revert back to standard CTest BUILD_TESTING option 2012-10-13 09:50:02 -04:00
Marc-André Moreau
c26a623ed1 cmake: rename BUILD_TESTING to TEST_BUILD 2012-10-12 16:04:46 -04:00
Marc-André Moreau
40eea7c76b cmake: rename WITH_MONOLITHIC_BUILD to MONOLITHIC_BUILD 2012-10-08 22:55:06 -04:00
Marc-André Moreau
7891e0a765 winpr: stubbed pipe module, added some test stubs 2012-10-07 16:13:30 -04:00
Marc-André Moreau
f8b049630f libwinpr-interlocked: added support for doubly-linked lists 2012-10-06 20:19:03 -04:00
Marc-André Moreau
e2cd73ba54 channels: moving device plugins up in the directory structure 2012-10-05 18:30:14 -04:00
Marc-André Moreau
fbd2f360e9 winpr: fix compilation on Linux 2012-10-05 14:45:54 -04:00
Marc-André Moreau
bf26079d3f libwinpr: added tests and fix InterlockedCompareExchange64 on Windows XP 2012-10-04 18:57:32 -04:00
Marc-André Moreau
e828feccb7 cmake: organize solution folders 2012-10-04 09:42:23 -04:00
Marc-André Moreau
12554c172f winpr: fix build on Windows 2012-10-03 17:53:03 -04:00
Marc-André Moreau
703d9346c8 libwinpr-interlocked: fix on 32-bit 2012-10-03 08:43:27 -04:00
Marc-André Moreau
77023ec1dd channels/rdpdr: reduce dependency on list utils in favor or lightweight interlocked singly-list lists 2012-10-02 21:52:27 -04:00
Marc-André Moreau
f31b5c7f5d libwinpr-crt: improve aligned memory tests 2012-10-01 23:31:49 -04:00
Marc-André Moreau
ebbdc8dca9 libwinpr-interlocked: make tests pass 2012-10-01 23:00:41 -04:00
Marc-André Moreau
eb54da8eb5 libwinpr-interlocked: added unit tests for interlocked access 2012-10-01 21:58:24 -04:00
Marc-André Moreau
423585a6a1 libwinpr-path: fix build on Linux 2012-10-01 18:34:46 -04:00
Marc-André Moreau
659a901450 cmake: add solution folder subdirectories 2012-10-01 11:48:53 -04:00
Marc-André Moreau
fcc9f91302 cmake: add support for solution groups 2012-09-30 22:58:59 -04:00
Marc-André Moreau
7d7536f649 libwinpr: add module definition files 2012-09-21 13:02:54 -04:00
Marc-André Moreau
403d85f080 cmake: bump soname version to 1.1.0 2012-09-20 20:45:56 -04:00
Marc-André Moreau
9c41865fa7 libwinpr: stubbed a couple more modules of interest 2012-09-19 21:42:46 -04:00
Marc-André Moreau
78723f019f libwinpr-synch: stubbed more 2012-09-18 15:51:33 -04:00