Bernhard Miklautz
204ae5462a
winpr/file: refactoring
...
The used method for initalizing and registering the handle creators
had certain disadvantages like that it was necessary to have the creators
initialized before the first call to CreateFile. In case of comm it
wouldn't have been possible to open an comm port without calling any
other call related function first.
Now the handle creators are initialized the first time CreateFile is
called. This way it is also possible to ensure a certain order of the
handler invocations.
This commit also splits out the client side named pipe code from
the generic file handling (now called generic.c instead of file.c) and
uses the new handle creator infrastructure to register.
2015-09-09 15:48:59 +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
Marc-André Moreau
ca95ec1079
Merge branch 'master' of github.com:FreeRDP/FreeRDP into gateway
2015-03-19 09:38:16 -04:00
Marc-André Moreau
3c4bee3d95
libfreerdp-core: fix RDG valgrind issues
2015-03-17 16:54:45 -04:00
David FORT
552df08926
Implement ReadFile() and WriteFile() as handle operation
2015-03-16 21:29:19 +01:00
David FORT
52bd4469d9
Make handle operations static
...
This patch moves the handle operations in a static struct.
2015-03-16 10:31:26 +01:00
Armin Novak
b03356f880
Using new handle cleanup structure
2015-03-11 17:57:01 +01:00
Armin Novak
3b983476fb
Using new handle cleanup structure
2015-03-11 17:57:01 +01:00
Armin Novak
02212db9cb
Using new handle cleanup structure
2015-03-11 17:57:01 +01:00
Armin Novak
0daae8a2aa
Using handle close callback now.
2015-03-11 15:11:00 +01:00
Armin Novak
bab7fe50a7
Prettiefied WLog messages.
2015-01-20 11:05:45 +01:00
Martin Haimberger
12aad63f4d
fixed win32 build
2014-12-02 00:27:30 -08:00
Martin Haimberger
fa6d551676
changed processhandle handling to new system
2014-12-02 00:08:10 -08:00
Martin Haimberger
128458d380
fixing memoryleak by introducing a nonehandle
...
In CreateProcess the non functional thread
handle was leaked.
2014-12-01 23:53:58 -08:00
Armin Novak
c304f457cf
Implemented thread handling for WaitForMultipleObjects.
...
Implemented thread specific functions.
2014-10-27 11:23:15 +01:00
Marc-André Moreau
f6b3b24c22
winpr: add new line ending, utf16 byte order swap functions
2014-10-16 18:07:44 -04:00
Marc-André Moreau
020436db79
libwinpr-handle: fix dummy DuplicateHandle implementation
2014-10-11 12:34:45 -04:00
Armin Novak
b22b897389
Reformatted changed files.
2014-09-09 16:32:22 +02:00
Armin Novak
28ece6bb46
Replaced stdio logging with WLog
2014-09-09 16:31:46 +02:00
Marc-André Moreau
edde16e9d5
libwinpr-synch: add initial synchronization barrier implementation
2014-08-08 17:34:30 -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
Armin Novak
ad3255354d
Added WITH_LIBRARY_VERSIONING, allowing to build shared libraries without
...
SOVERSION information. (required by Android)
2014-07-11 11:53:58 +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
Emmanuel Ledoux
fba58a5b90
winpr-comm: added _HandleCloseCbsLock to protect accesses to _HandleCloseCbs
2014-07-03 11:24:37 +02:00
Emmanuel Ledoux
db1fba3a68
Revert "winpr-handle: removed RegisterHandleCloseCb() which would require a better synchronization"
...
RegisterHandleCloseCb() is also useful to don't get a circular dependency, a better synchronization must be find out...
This reverts commit 8f3b3fa573
.
2014-07-02 16:57:20 +02:00
Emmanuel Ledoux
8f3b3fa573
winpr-handle: removed RegisterHandleCloseCb() which would require a better synchronization
...
winpr-comm: don't use anymore RegisterHandleCloseCb()
2014-07-02 16:19:28 +02:00
Emmanuel Ledoux
9fc225ac5d
Merge branch 'ports'
...
Conflicts:
channels/serial/client/serial_tty.c
2014-06-30 17:22:15 +02:00
Emmanuel Ledoux
f454a5c0c8
winpr-handle: CloseHandle(), added ability to register some callback functions
...
winpr-comm: implemented CommCloseHandle()
2014-06-19 19:07:45 +02:00
Emmanuel Ledoux
9fc0e6eccc
winpr-comm: CommReadFile and CommWriteFile are now protected by a mutex
...
winpr-comm: implemented IOCTL_SERIAL_IMMEDIATE_CHAR
2014-06-17 16:34:20 +02:00
Emmanuel Ledoux
85343a435a
winpr-comm: completed _purge() supporting SERIAL_PURGE_RXABORT
...
winpr-comm: CommReadFile, support of FREERDP_PURGE_RXABORT sent by _purge()
2014-05-28 18:42:23 +02:00
Emmanuel Ledoux
4715009965
winpr-comm: completing _purge() on write operations (SERIAL_PURGE_TXABORT)
...
winpr-comm: CommWriteFile, implemented the WriteTotalTimeout
2014-05-28 16:41:24 +02:00
Norbert Federa
5d82ff3c5d
winpr: fixed non monolithic build issue
2014-05-28 16:22:32 +02:00
Norbert Federa
aa2efaf573
winpr: rewrite named pipe sharing
...
Since commit 5e09e37d42
was basically unfixable,
here is a slightly different approach that should hopefully solve all
discovered issues and race conditions.
2014-05-28 13:54:08 +02:00
Emmanuel Ledoux
b8d00e41c4
- winpr-comm: fixed again the synchronization arround PendingEvents. Prefer to wait for the end of _wait_on_mask() inside _set_wait_mask()
2014-05-27 17:29:55 +02:00
Emmanuel Ledoux
1aeca8fbc7
- serial: terminates IRP threads more gracefully and avoiding warning messages.
2014-05-27 16:17:47 +02:00
Emmanuel Ledoux
b889ad7125
winpr-comm: reviewed the synchronization around counters, WaitMask and PendingEvents variables. Got rid of the semaphore PendingEventsSem.
2014-05-27 12:29:24 +02:00
Emmanuel Ledoux
9796224936
- winpr-comm: got a finalized version of IOCTL_SERIAL_WAIT_ON_MASK
...
- serial: cleaning up the code
2014-05-27 11:33:10 +02:00
Norbert Federa
538cc2d4a8
winpr: fixed incorrect pipe reference count usage
...
- refcount is only relevant for servermode
- refcount was used uninitialized in clientmode
- credit for fix goes to @bmiklautz
Bug was introduced by 5e09e37d42
2014-05-26 21:24:34 +02:00
Marc-André Moreau
fb3662c7e2
winpr: fix ranlib missing symbols warnings on OS X
2014-05-09 22:44:19 -04:00
Marc-André Moreau
06d36c7084
libwinpr-pipe: fix circular dependency
2014-05-08 17:17:39 -04:00
Marc-André Moreau
4dc6ffdaaa
Merge branch 'awakecoding' of github.com:vworkspace/FreeRDP
...
Conflicts:
winpr/libwinpr/pipe/pipe.c
2014-05-08 16:38:21 -04:00
Emmanuel Ledoux
e7f0185e69
- firt use of winpr-comm by the serial channel (not tested and not finalized)
2014-04-27 19:41:25 +02:00
Bernhard Miklautz
b817e92e5e
cmake: mark required libraries for export
2014-04-23 10:16:02 +02:00
Emmanuel Ledoux
346c598bbe
Introduced RegisterHandleCreator() to be used with CreateFile()
2014-04-22 17:00:14 +02:00
Mike McDonald
d8c1133201
Changes to named pipe functions based on code review.
2014-04-18 14:02:44 -04:00
Mike McDonald
5e09e37d42
Modified named pipes to support multiple instances (i.e., multiple calls to CreateNamedPipe with the same pipe name).
2014-04-18 13:16:42 -04:00
Marc-André Moreau
82ed4f0f38
libwinpr-comm: initial stubs
2014-04-02 15:51:28 -04:00
Marc-André Moreau
fab0cd2779
libwinpr-synch: stub timer queues
2014-01-24 17:48:55 -05:00
Marc-André Moreau
55565e056c
freerdp: export targets
2013-10-28 23:06:39 -04:00