Commit Graph

89 Commits

Author SHA1 Message Date
Armin Novak
3594d39ba8 Using new handle cleanup structure 2015-03-11 17:57:01 +01:00
Petr Sumbera
17df42e4b5 Fixes some build issues on Solaris 11. 2015-02-02 08:48:54 -08:00
Marc-André Moreau
3a906caa4a freerdp: add event handle usage instead of file descriptors 2015-01-29 22:57:58 -05:00
Marc-André Moreau
5bf8b1509e libfreerdp-core: improve socket BIO handling 2015-01-28 13:46:17 -05:00
Armin Novak
ff3fcc24c1 Fixed unlocking if pthread_join fails. 2014-11-10 10:24:32 +01:00
Armin Novak
017e4a323e Locking thread until joined now, preventing multiple joins and race conditions. 2014-11-03 09:29:35 +01:00
Armin Novak
5bf25fd87c Fixed missing includes and typo. 2014-10-27 11:45:39 +01:00
Armin Novak
8f98f28ce8 Fixed merge errors. 2014-10-27 11:39:02 +01:00
Armin Novak
7acdbdaa85 Error messages now prefixed with function name.
Implemented bWaitAll for WaitForMultipleObjects.
pthread_join now only called on first wait event, later ones skip this to avoid undefined behavior.
2014-10-27 11:28:11 +01:00
Armin Novak
c304f457cf Implemented thread handling for WaitForMultipleObjects.
Implemented thread specific functions.
2014-10-27 11:23:15 +01:00
Marc-André Moreau
d102e746c8 Merge branch 'awakecoding' of github.com:vworkspace/FreeRDP
Conflicts:
	libfreerdp/core/license.c
	libfreerdp/core/nego.c
	winpr/libwinpr/synch/wait.c
2014-09-19 14:38:25 -04:00
Armin Novak
b22b897389 Reformatted changed files. 2014-09-09 16:32:22 +02:00
Armin Novak
7e3a1b3073 Now using macro to generate module specific log tag. 2014-09-09 16:32:04 +02:00
Armin Novak
28ece6bb46 Replaced stdio logging with WLog 2014-09-09 16:31:46 +02:00
Mike McDonald
2ec493d094 Reverted WaitForSingleObject for event handles to retry the select upon receiving an EINTR error 2014-08-21 08:21:29 -04:00
Marc-André Moreau
168d46f253 Merge branch 'awakecoding' of github.com:vworkspace/FreeRDP
Conflicts:
	libfreerdp/core/nego.c
	libfreerdp/core/peer.c
	winpr/libwinpr/synch/wait.c
2014-08-15 11:43:50 -04:00
Mike McDonald
ca0ddf4039 Merge branch 'awakecoding' of https://github.com/vworkspace/FreeRDP into awakecoding 2014-08-01 15:49:19 -04:00
Mike McDonald
12c0bd64f0 Removed loop which was retrying the select after being interrupted by a signal. This was leading to threads blocking forever. 2014-08-01 15:48:54 -04:00
Norbert Federa
6b47229563 Merge pull request #1955 from nfedera/fix-2014-07-10-02
winpr: CloseHandle did not release the thread TCB
2014-07-11 16:35:12 +02:00
Norbert Federa
aac57e7e72 winpr: CloseHandle did not release the thread TCB
This resulted in huge memory leaks - 8MB per thread, depending on
the system's default stack size.
The leak happend even if CloseHandle() was correctly used to "detach"
the thread but WaitForSingleObject was never called.
2014-07-10 12:28:35 +02:00
Bernhard Miklautz
6a49bcfe40 winpr: always build "monolitic"
winpr is now always build as single library.
The build option MONOLITHIC_BUILD doesn't influence this behavior anymore.

The only exception is winpr-makecert-tool which is still build as extra
library.

This obsoletes complex_libraries for winpr.
2014-07-10 11:10:58 +02:00
Hardening
f09076e4d2 Add a guard on nCount with MAXIMUM_WAIT_OBJECTS + cosmetic fixes 2014-07-07 14:50:05 +02:00
Hardening
4bb910fec5 Fixed a typo 2014-07-04 22:14:04 +02:00
Hardening
16681cc91a Fix header inclusion 2014-07-04 16:11:19 +02:00
Hardening
4b3dc22a79 Fix missing include for macOS 2014-07-04 15:29:21 +02:00
Hardening
542811291c Use poll() instead of select() when available
select() has the major drawback that it cannot handle file descriptor
that are bigger than 1024. This patch makes use of poll() instead of
select() when poll() support is available.
2014-07-03 15:26:49 +02:00
Marc-André Moreau
4bac8374de Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-05-21 11:17:58 -04:00
Marc-André Moreau
472c231876 Merge pull request #1826 from Hobby-Student/master
fix FreeBSD compile errors
2014-05-21 10:53:47 -04:00
Marc-André Moreau
c1d727e9cd freerdp: fix type build warnings 2014-05-09 15:44:49 -04:00
Marc-André Moreau
a202fe4057 freerdp: fix several type related warnings 2014-05-08 18:02:02 -04:00
Hobby-Student
18d70c6cda FreeBSD compile errors - add comments 2014-05-01 15:24:11 +02:00
Hobby-Student
7c8e1681cc FreeBSD compile errors - fix typo 2014-05-01 15:17:54 +02:00
Hobby-Student
03315cebe8 FreeBSD compile errors 2014-05-01 15:09:35 +02:00
Benoît LeBlanc
557c082458 Merge branch 'master' of git://github.com/awakecoding/FreeRDP 2014-03-05 16:35:22 -05:00
Marc-André Moreau
a143a70114 libfreerdp-core: link against libwinpr-wtsapi, dynamically register proper WtsApi implementation in FreeRDS 2014-02-16 20:41:19 -05:00
Benoît LeBlanc
9d929469d2 Merge branch 'master' of git://github.com/awakecoding/FreeRDP
# By Marc-André Moreau (27) and others
# Via Marc-André Moreau
* 'master' of git://github.com/awakecoding/FreeRDP: (48 commits)
  afreerdp: fix build on Android
  libwinpr-wtsapi: include wtsapi32.h on Windows
  wfreerdp: fix target exporting
  wfreerdp: fix building against OpenSSL with MONOLITHIC_BUILD and shared libraries
  wfreerdp: fix test build issues
  libwinpr-crypto: implement CryptProtectMemory/CryptUnprotectMemory
  libwinpr-memory: add missing definitions
  libwinpr-memory: start stubbing
  Increased size of stream on GCC conference create request from 512 to 1024.  For large numbers of static virtual channels, the stream was being overflowed and was causing crashes.
  Fixes to process new command line options (autodetect, heartbeat, multitransport), join the MCS message channel and process auto-detect PDUs during the connection sequence.
  wfreerdp: fix build against static openssl library
  winpr-hash: fix building against openssl in static mode
  libfreerdp-gdi: fix invalidation of region with line drawing
  mfreerdp: fix hungarian keyboard '0' and 'i' key inversion
  Fixes build issue on Windows
  libwinpr-synch: add active/inactive linked list for timer queue
  libwinpr-synch: improve timer queue implementation
  libwinpr-synch: make use of head's expiration time in timer queue
  libwinpr-synch: make use of timespec for timer queue
  libwinpr-synch: improve timer queue implementation
  ...

Conflicts:
	client/common/CMakeLists.txt
2014-02-04 11:37:40 -05:00
Benoît LeBlanc
04734d8f37 ts_add_ms: replaced while() that could result in infinite lock 2014-02-04 11:35:16 -05:00
Marc-André Moreau
d2405a25f8 libwinpr-synch: initial waitable timer asynchronous procedure callback support 2014-01-24 22:44:23 -05:00
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
Benoît LeBlanc
13322f5ba2 Removed warning 2013-11-18 11:59:53 -05: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
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