Marc-André Moreau
b972830841
libfreerdp-codec: make use of ObjectPool for tiles
2013-08-13 09:34:15 -04:00
Marc-André Moreau
f8e870a258
libwinpr-utils: implement asynchronous mode for ListDictionary
2013-08-12 17:48:32 -04:00
Marc-André Moreau
34f9985add
freerdp: merge with master
2013-08-07 15:48:57 -04:00
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
Marc-André Moreau
13872f33bf
libwinpr-utils: implement doubly-linked list
2013-08-05 17:29:14 -04:00
Norbert Federa
81ef251fc8
winpr: improve and fix locking for data structures
...
- Improved/completed(almost) winpr's critical section implementation
- Replaced WaitForSingleObject locking with critical sections
Note:
WaitForSingleObject should _never_ be used for granular low-contention
locks as it _always_ enters the kernel.
Just replacing WaitForSingleObject locking in Bufferpool with
EnterCriticalSection boosts the multithreaded rfx decoder
performance by almost 400% on win32.
2013-08-02 12:07:05 +02:00
Marc-André Moreau
b3265b6958
libwinpr-utils: implement ListDictionary
2013-07-05 18:23:26 -04:00
Marc-André Moreau
3fbc4f899f
libwinpr-utils: fix deadlock in PubSub
2013-06-27 14:16:50 -04:00
Marc-André Moreau
fbf3208b0a
libwinpr-utils: rename certain PubSub functions
2013-06-18 21:23:26 -04:00
Marc-André Moreau
508bae674b
libwinpr-utils: improve PubSub with automatic strongly-typed helpers
2013-06-18 00:39:48 -04:00
Marc-André Moreau
e77d4657e4
libwinpr-utils: add PubSub multiplexing and synchronized access
2013-06-15 18:18:02 -04:00
Marc-André Moreau
95a129eb69
libfreerdp-client: start splitting termination and printing logic for CLI parsing
2013-06-15 15:13:38 -04:00
Marc-André Moreau
8ad532a9d4
libwinpr-utils: implement basic Publisher/Subscriber pattern
2013-06-15 13:32:13 -04:00
Marc-André Moreau
174d1bdd71
libwinpr-utils: start implementing Publisher/Subscriber pattern
2013-06-14 16:55:05 -04:00
Marc-André Moreau
2bd6808432
freerdp: merge with master
2013-06-05 10:31:01 -04:00
Daryl Poe
86156ce61f
fix memory errors due to too-large memcpy in ArrayList
2013-06-03 09:30:14 -06:00
Marc-André Moreau
e8c5e6c70b
libfreerdp-core: send using separate streams, re-enable frame acks
2013-05-15 18:05:40 -04:00
Marc-André Moreau
54281cac13
libwinpr-utils: grow stream by a factor of two
2013-05-15 16:22:58 -04:00
Marc-André Moreau
367ebf32a3
freerdp: make use of stream macros to access members
2013-05-15 12:14:26 -04:00
Marc-André Moreau
fdf3ddcf9e
freerdp: purge deprecated stream utils
2013-05-08 17:48:30 -04:00
Marc-André Moreau
b4cac74136
xfreerdp-server: fix RemoteFX encoding
2013-05-01 18:15:55 -04:00
Marc-André Moreau
c49c235c93
libwinpr-utils: fix stream pool
2013-04-30 00:36:16 -04:00
Marc-André Moreau
83af4266bf
libfreerdp-core: refactor fastpath fragmentation
2013-04-29 23:55:44 -04:00
Marc-André Moreau
51715636a5
freerdp: remove some deprecated stream utils
2013-04-29 22:35:15 -04:00
Marc-André Moreau
d04b76d005
libfreerdp-core: use stream pool
2013-04-12 13:44:23 -04:00
Marc-André Moreau
0fded8c2d0
winpr-utils: fix StreamPool
2013-04-12 12:20:20 -04:00
Marc-André Moreau
f94f90c08b
winpr-utils: initial stream pool implementation
2013-04-11 21:59:02 -04:00
Marc-André Moreau
c65ee0c2f4
wfreerdp: fix build on Windows
2013-03-29 00:33:15 -04:00
Hardening
7701c9d934
Replace printf(...) by fprintf(stderr, ...)
2013-03-28 23:06:34 +01:00
Marc-André Moreau
8b9ea43d78
libfreerdp-core: fix locking with TS Gateway
2013-03-27 20:06:10 -04:00
Marc-André Moreau
690b5147db
cmake: simplify android build
2013-03-23 18:13:10 -04:00
Marc-André Moreau
27dc85bed9
libwinpr-utils: add trio portable printf implementation
2013-03-21 21:30:31 -04:00
Marc-André Moreau
a8201b0d1b
libwinpr-utils: combine old and new stream utils
2013-03-21 15:19:33 -04:00
Bernhard Miklautz
f6810fb138
Fixed warnings for 32 bit builds
2013-03-15 22:49:25 +01:00
Bernhard Miklautz
103171a98e
Fixed compiler warnings (-Wall)
2013-03-15 20:41:10 +01:00
Bernhard Miklautz
e8eb0d0b44
Fixed formating build warnings (-Wformat)
2013-03-15 20:03:48 +01:00
Martin Fleisz
b5ffa2f8ae
iOS: Compile fix
2013-03-13 15:12:44 +01:00
Martin Fleisz
96a2717b3c
iOS: Compile fixes ( Fixed #1069 , #1086 )
2013-03-13 15:08:45 +01:00
Christian Hofstaedtler
8833c14eac
fix ArrayList_Shift for args (al, 0, -1)
...
As a result, this should fix #1051 .
2013-03-12 23:21:42 +01:00
Marc-André Moreau
ea63fdb18e
libwinpr-utils: start custom printf replacement
2013-02-28 15:43:57 -05:00
Marc-André Moreau
9873ce28d0
libwinpr-utils: experiment with printf replacement
2013-02-28 08:41:51 -05:00
Marc-André Moreau
fe34a529d5
freerdp: fix build and warnings on Mac OS X
2013-02-21 21:09:42 -05:00
Marc-André Moreau
082e069913
libwinpr-utils: initial MessagePipe implementation
2013-02-20 14:48:32 -05:00
Marc-André Moreau
5e8d35c4ac
channels/rdpsnd: use MessageQueue
2013-02-19 22:36:04 -05:00
Marc-André Moreau
f75b3f5d51
libwinpr-utils: fix parsing of optional arguments with the space separator
2013-02-19 18:05:20 -05:00
Marc-André Moreau
e42b1272ef
libfreerdp-core: added ObjectPool
2013-02-14 20:39:56 -05:00
Marc-André Moreau
47a7d54370
xfreerdp: stabilize asynchronous X11 event handling
2013-02-11 20:38:19 -05:00
Marc-André Moreau
4269ac5c14
xfreerdp: improve asynchronicity
2013-02-09 17:13:53 -05:00
Marc-André Moreau
64160af3a8
libfreerdp-core: added more message definitions
2013-02-04 14:56:54 -05:00
Marc-André Moreau
d9ac2cca39
libfreerdp-gdi: fix 8bpp FillRect color
2013-02-03 15:16:37 -05:00