Commit Graph

97 Commits

Author SHA1 Message Date
Martin Haimberger
479157b69c winpr: WaitFor*Ojbect/s set lastError now 2015-07-30 02:52:11 -07:00
Bernhard Miklautz
68e8569110 winpr/synch: remove the dependency on winsock.h
winsock.h pulls in a lot of defines and dependencies that are not
required and partially unwanted in winpr's core (for parts that are not
related to network). In order to get rid of this dependency and have an
independent defines for extended winpr functions the WINPR_FD_* defines
are used internally (and for exposed functions). Where required, like in
WSAEventSelect, the FD_* is mapped to WINPR_FD_*.
2015-07-14 11:39:41 +02:00
Armin Novak
c21de0dae6 Fixed pr comments. 2015-07-03 11:13:48 +02:00
Armin Novak
6243a9374b Added write event support to handle functions.
Allows the WinPR HANDLE functions WaitForSingleObject and
WaitForMultipleObjects to signal in case of write events.
This is used by CreateFileDescriptor and SetEventFileDescriptor,
which got an API change accomodating for this new feature.
2015-07-03 09:29:18 +02:00
Armin Novak
5911332dfe Fixed pthread_mutex_timedjoin detection. 2015-04-22 09:32:59 +02:00
Marc-André Moreau
dfc1238523 Merge pull request #2447 from ivan-83/master
Fix poor sound quality with ALSA, add OSS sound system support, FreeBSD patches
2015-03-12 10:09:02 -04:00
Armin Novak
13dce87403 Fixed missing return value check. 2015-03-11 18:14:50 +01:00
Armin Novak
3594d39ba8 Using new handle cleanup structure 2015-03-11 17:57:01 +01:00
ivan-83
434436b75f * BSD/FreeBSD build fix 2015-03-10 01:21:28 +03: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