Hardening
19fb713b83
Handle EINTR nicely
...
When we caught an EINTR during a select we should retry instead of returning an error
2014-01-07 16:36:41 +01:00
Marc-André Moreau
05947dd0b2
libfreerdp-core: fix linux build
2013-12-18 22:02:59 -05:00
Benoît LeBlanc
043b834ac2
Fixed WaitForSingleObject and WaitForMultipleObjects (timeouts incorrectly sets). Added detailed error reporting, better timeout error handling.
2013-12-17 18:21:12 -05:00
Benoît LeBlanc
f4a0216c76
Fixed WaitForSingleObject and WaitForMultipleObjects (timeouts incorrectly sets). Added detailed error reporting, better timeout error handling.
2013-12-17 18:20:33 -05:00
Marc-André Moreau
62199fc46a
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2013-12-10 11:54:03 -05:00
Bernhard Miklautz
2b6b4a6685
updated file headers
2013-12-04 11:44:22 +01:00
Benoît LeBlanc
13322f5ba2
Removed warning
2013-11-18 11:59:53 -05:00
Bernhard Miklautz
916f2d2dbf
winpr: fixed build warnings
...
* moved pthread_tryjoin_np to toplevel CMakeLists.txt
* removed duplicated -DHAVE_PTHREAD_GNU_EXT
2013-11-15 16:04:04 +01:00
Armin Novak
fbc1acd70e
Fixed includes and test function naming.
2013-11-15 11:43:01 +01:00
Armin Novak
5dbd94e2a3
Added unit tests for thread and mutex.
2013-11-15 11:38:59 +01:00
Armin Novak
efd2d833c2
Extended test, now also checks, if lock / unlock is working.
2013-11-15 08:38:59 +01:00
Armin Novak
e17a4d1f26
Using CLOCK_MONOTONIC instead of CLOCK_REALTIME now.
...
Fixed timeout comparison for systems missing GNU posix extensions.
2013-11-14 13:48:20 +01:00
Armin Novak
719c1a27d6
Fixed broken timed wait for thread and mutex objects in WaitForSingleObject.
2013-11-14 09:34:16 +01:00
Marc-André Moreau
55565e056c
freerdp: export targets
2013-10-28 23:06:39 -04:00
Marc-André Moreau
89d45690c6
libwinpr-synch: don't use timed waits on OS X until they are properly ported
2013-10-25 10:48:37 -04:00
Marc-André Moreau
723e423799
libwinpr-synch: fix build on Mac OS X
2013-10-25 10:03:57 -04:00
Marc-André Moreau
d30f66b1b7
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2013-10-23 14:18:40 -04:00
Armin Novak
2ba55a48f8
Added missing variable declaration.
2013-10-23 12:25:04 +02:00
Armin Novak
17a024dcd1
Returing WAIT_TIMEOUT for MUTEX objects now too.
2013-10-23 12:16:23 +02:00
Armin Novak
c1051fe4c6
Always including <errno.h> now.
2013-10-23 12:13:53 +02:00
Armin Novak
7704788474
Implemented fallback functions for pthread_timedjoin_np and
...
pthread_mutex_timedlock functions for systems without PTHREAD_GNU_EXT
Now returning WAIT_TIMEOUT if the operation timed out.
2013-10-23 12:09:09 +02:00
Marc-André Moreau
0276b095eb
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2013-10-17 13:08:30 -04:00
Bernhard Miklautz
e6f3cd7dff
build: link winpr-synch against winpr-sysinfo
2013-10-05 14:09:04 +02:00
Marc-André Moreau
f4e98f29ec
libwinpr-pipe: add server-side named pipe waiting
2013-09-25 19:13:39 -04:00
Marc-André Moreau
3d2754e8ed
libwinpr-environment: implement required functions for CreateProcess
2013-09-23 14:44:59 -04:00
Marc-André Moreau
8d142eb85f
libwinpr-thread: initial CreateProcess() implementation
2013-09-22 17:23:00 -04:00
Marc-André Moreau
e8a8c1cf7f
winpr: fix crashing tests
2013-09-19 14:17:00 -04:00
Marc-André Moreau
0c17eb1a23
winpr: fix unit tests on Windows
2013-09-19 13:50:00 -04:00
Marc-André Moreau
518995a05e
freerdp: merge with master
2013-09-16 17:10:27 -04:00
Marc-André Moreau
4fbebba528
libwinpr-wait: add support for waiting on named pipes (non-standard)
2013-09-11 19:00:32 -04:00
Bernhard Miklautz
8c796e9afc
winpr/synch: link against librt
2013-09-10 10:38:23 +02:00
Armin Novak
62356e667c
Fixed erroneous patch.
2013-09-05 12:14:34 +02:00
Armin Novak
a3b531c036
Fixed issues found with clang-analyzer
2013-09-05 12:14:33 +02:00
Armin Novak
1e2455fa4a
Fixed various memory leaks and compiler warnings.
2013-09-05 12:14:33 +02:00
Armin Novak
629ac4ad28
Fixed coverity issue 1047588
2013-09-05 12:14:33 +02:00
Armin Novak
04e9338668
Fixed coverity issue 1047595
2013-09-05 12:14:32 +02:00
Armin Novak
0c08b584b8
Fixed coverity issue 1047596
2013-09-05 12:14:32 +02:00
Armin Novak
2f20a8c12b
Fixed various memory leaks and resource deallocation problems.
2013-08-19 17:44:52 +02:00
Armin Novak
1a3a6c3e0f
Fixed check for _GNU_SOURCE pthread extensions.
2013-08-16 11:49:35 +02:00
Marc-André Moreau
1d3cf89cbc
libwinpr-synch: fix wait.c build on Mac OS X
2013-08-15 15:02:24 -04:00
Armin Novak
86fd873907
Added error messages for not implemented functions.
2013-08-14 13:19:57 +02:00
Armin Novak
0752597e00
Thread timed join now only available with _GUN_SOURCE.
2013-08-14 13:18:18 +02:00
Armin Novak
c3e847f472
Implemented timeouts for WaitForSingleObject.
...
Added assertions for functions not implemented.
2013-08-14 13:18:18 +02:00
Marc-André Moreau
34f9985add
freerdp: merge with master
2013-08-07 15:48:57 -04:00
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
7b80b19306
cmake: add FindPixman.cmake
2013-08-05 20:50:23 -04:00
Marc-André Moreau
190ed85a3d
libwinpr-synch: add detection of timerfd support
2013-08-03 19:50:17 -04:00
Marc-André Moreau
ecc543d87d
Merge branch 'master' of github.com:FreeRDP/FreeRDP into multitouch
2013-08-03 16:22:09 -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
4d2bc6ba46
libwinpr-synch: add unit tests, initial waitable timer support
2013-07-29 13:07:39 -04:00