Truncating 64-bit thread IDs to 32-bits can result in collisions on systems with large numbers of CPUs. GetCurrentThreadId() does this, and there are fairly easy to reproduce collisions on systems with ~128 CPU cores. The `GetCurrentThreadId` API should wrap an OS-specific way of providing the current thread ID. Keep the XOR-folded pointer as a fallback for OSes which aren't explicitly supported. This fixes failures in TestSynchCritical that are readily reproducible on such systems.. Tested on FreeBSD 14.3 and various Linux variants on x86_64.
FreeRDP: A Remote Desktop Protocol Implementation
FreeRDP is a free implementation of the Remote Desktop Protocol (RDP), released under the Apache license. Enjoy the freedom of using your software wherever you want, the way you want it, in a world where interoperability can finally liberate your computing experience.
Code Quality Status
Resources
Project website: https://www.freerdp.com/
Issue tracker: https://github.com/FreeRDP/FreeRDP/issues
Sources: https://github.com/FreeRDP/FreeRDP/
Downloads: https://pub.freerdp.com/releases/
Wiki: https://github.com/FreeRDP/FreeRDP/wiki
API documentation: https://pub.freerdp.com/api/
Security policy: https://github.com/FreeRDP/FreeRDP/security/policy
FAQ: https://github.com/FreeRDP/FreeRDP/wiki/FAQ
Contact
- Matrix room :
#FreeRDP:matrix.org(main)XMPP channel:no longer available#FreeRDP#matrix.org@matrix.org(bridged)- IRC channel :
#freerdp @ irc.oftc.net(bridged)
- Mailing list: https://lists.sourceforge.net/lists/listinfo/freerdp-devel
Microsoft Open Specifications
Information regarding the Microsoft Open Specifications can be found at: https://www.microsoft.com/openspecifications/
A list of reference documentation is maintained here: https://github.com/FreeRDP/FreeRDP/wiki/Reference-Documentation
Compilation
Instructions on how to get started compiling FreeRDP can be found on the wiki: https://github.com/FreeRDP/FreeRDP/wiki/Compilation