Go to file
Norbert Federa 3a58934eb2 libwinpr-utils: Use criticalsection with spincount
Use InitializeCriticalSectionAndSpinCount instead of IntializeCriticalSection.
Using spin counts for critical sections of short duration enables the calling
thread to avoid the wait operation in most situations which can dramatically
improve the overall performance on multiprocessor systems.

On Linux this change has no effect because the new winpr critical section
implementation does not use the SpinCount field under Linux because the NPTL
synchronization primitives are implemented using the extremely performant
futex system calls which have this magic already built in.

However, on Mac OS X this change improved the overall performance of the
multithreaded RemoteFX decoder by 25 percent.

I've used a SpinCount of 4000 which avoided 99 percent of the wait calls.
This value is also used by Microsoft's heap manager for its per-heap
critical sections.

Note: This change requires pull request #1397 to be merged.
2013-08-07 18:16:01 +02:00
channels Merge pull request #1389 from akallabeth/urbdrc_cmake_fixes 2013-08-03 13:18:04 -07:00
client careful with passwd in compatibility.c 2013-07-30 14:11:29 +02:00
cmake Merge pull request #1389 from akallabeth/urbdrc_cmake_fixes 2013-08-03 13:18:04 -07:00
cunit freerdp: purge deprecated stream utils 2013-05-08 17:48:30 -04:00
docs directfb: print "unmaintained" build warning 2013-06-18 12:29:30 +02:00
external cmake: added external directory 2012-11-01 13:50:49 -04:00
include xfreerdp: comment cleanup 2013-07-23 14:47:40 -04:00
libfreerdp libfreerdp-core/fastpath: fix memory leak when sending large packet. 2013-08-04 17:23:32 +08:00
resources cmake: get initial windows cpack generators to work 2012-10-17 10:46:40 -04:00
scripts winpr: Don't build tools for Android and iOS 2013-03-14 09:38:50 -07:00
server merged from upstream 2013-07-17 16:44:27 -04:00
third-party cmake: Allow project-wide includes for third-party components 2013-04-04 12:28:52 +02:00
winpr libwinpr-utils: Use criticalsection with spincount 2013-08-07 18:16:01 +02:00
.gitignore Refactoring Mac app - update API, stripped RAIL code 2013-06-17 16:44:44 -04:00
ChangeLog changelog: update for 1.0.1 2012-02-09 21:01:42 -05:00
CMakeLists.txt Added proper find_feature check for JPEG library. 2013-08-02 10:04:58 +02:00
config.h.in pulled last changes from Marc-André 2013-06-12 16:17:41 -04:00
freerdp.pc.in Fix includes + pkgconfig file 2013-03-29 23:37:13 +01:00
freerdp.spec channels: refactoring of channels cmake scripts with macros 2012-10-17 02:14:19 -04:00
LICENSE FreeRDP 1.0: initial commit 2011-06-30 15:12:51 -04:00
README Updated links in README 2013-05-27 18:29:24 +02:00

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.

Resources
---------

Project website: http://www.freerdp.com/
Issue tracker: https://github.com/FreeRDP/FreeRDP/issues
Sources: https://github.com/FreeRDP/FreeRDP/
Wiki: https://github.com/FreeRDP/FreeRDP/wiki
Downloads and other resources: http://pub.freerdp.com
API doc: http://pub.freerdp.com/api/

IRC channel: #freerdp @ irc.freenode.net
Mailing list: https://lists.sourceforge.net/lists/listinfo/freerdp-devel

Microsoft Open Specifications
-----------------------------

Information regarding the Microsoft Open Specifications can be found at:
http://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