Go to file
Norbert Federa 6f9a8dbc1e winpr: greatly improved NtCurrentTeb performance
Use pthread_setspecific/pthread_getspecific to store/retrieve the thread
environment block (TEB). Use pthread_once to trigger the creation of that
data from within NtCurrentTeb.
This allows us to get rid of the process environment block stuff which
was only used to provide serialized access to a thread table in order to
retrieve the TEB.

NtCurrentTeb is currently only as a per-thread storage location for the
last error value used by SetLastError and GetLastError.

Also made the TestErrorSetLastError CTest a bit more demanding.
It makes sure the 4 threads run for at least 2 seconds.
Each thread constantly calls SetLastError with a random value and checks
if GetLastError returns the same value again. The total amount of
these iterations is calculated in order to measure the performance.

This change increases the NtCurrentTeb performance by roughly 50% on
linux and by several thousand percent (yes) on Mac OS X.

Thanks for watching.
2013-10-11 19:34:23 +02:00
channels Removed forced disable of microphone redirection for android builds. 2013-10-03 13:21:42 +02:00
client ios build: added option to set signing certificate 2013-10-05 22:00:37 +02:00
cmake ios build: fixed toolchain for cmake 2.8.10 2013-10-05 21:45:41 +02:00
cunit libfreerdp-codec: internal refactoring 2013-08-13 17:18:59 -04:00
docs ios build: updated README.ios 2013-10-06 13:47:52 +02:00
external cmake: added external directory 2012-11-01 13:50:49 -04:00
include Merge pull request #1509 from akallabeth/smartcard_fixes 2013-09-25 08:37:26 -07:00
libfreerdp Merge pull request #1491 from akallabeth/android_profiler 2013-10-01 00:53:35 -07:00
resources cmake: get initial windows cpack generators to work 2012-10-17 10:46:40 -04:00
scripts ios ssl build: support for user specified sdks 2013-10-06 13:47:21 +02:00
server freerdp: merge with master 2013-09-16 17:10:27 -04:00
third-party cmake: Allow project-wide includes for third-party components 2013-04-04 12:28:52 +02:00
winpr winpr: greatly improved NtCurrentTeb performance 2013-10-11 19:34:23 +02:00
.gitignore cmake: fix package generation on Mac OS X 2013-09-09 21:42:25 -04:00
ChangeLog changelog: update for 1.0.1 2012-02-09 21:01:42 -05:00
CMakeCPack.cmake cmake: fix package generation on Mac OS X 2013-09-09 21:42:25 -04:00
CMakeCPackOptions.cmake.in cmake: fix package generation on Mac OS X 2013-09-09 21:42:25 -04:00
CMakeLists.txt ios simulator build: set CMAKE_OSX_SYSROOT 2013-10-05 21:47:03 +02:00
config.h.in Merge pull request #1514 from akallabeth/android_sound 2013-10-01 02:20:44 -07: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