Armin Novak
6ed50b4b1d
Refactored WinPR includes
2022-03-03 11:26:48 +01:00
akallabeth
8cc6582044
Unify struct definitions ( #7633 )
...
* Unified enum/struct definitions, fixed include issues
* Fixed mac compilation issues
* Added missing include
* Fixed windows server build warnings
* Fixed VS2010 build issue
* Removed unnecessary library linking
* Fixed ThreadPool WinXP compatibility
* Fixed pr review remarks
2022-02-14 14:59:22 +01:00
akallabeth
e6e6ed5dbd
Cleaned up PubSub
...
* Callback arguments now const
* Fixed missing includes
2022-01-19 09:24:57 +01:00
akallabeth
1326134cdf
Fixed warnings in BufferPool
2022-01-19 09:24:57 +01:00
Armin Novak
b30f8886b2
Fixed LinkedList const correctness
2021-12-15 13:36:15 +01:00
David Fort
67986ea298
Fix compilation with mingw
...
This patch addresses some issues when compiling against mingw. With these changes
FreeRDP can be compiled out-of-the box on a Ubuntu 20.04.
2021-11-15 09:23:16 +01:00
Armin Novak
fb924c6bbc
Fixed struct alignment
2021-10-18 16:09:13 +02:00
Armin Novak
319b0e1b7e
Queue_Enqueue const argument
...
By default use const for the object enqueued.
If a `fnObjectNew` function is set, it is copied anyway.
For the case without cast away the const internally.
2021-10-18 16:09:13 +02:00
Armin Novak
983443749d
Added Stream_EnsureValidity
...
This function terminates a process if a stream was used incorrectly.
It will work similar to an assert, but it is not possible to compile
without this.
Purpose is to prevent problems with missing length/capacity checks
2021-10-06 09:49:07 +02:00
akallabeth
53a52a055d
Added missing WINPR_ASSERT to MessageQueue
2021-09-20 10:59:59 +02:00
akallabeth
d80b418bbc
Added object copy support to queue
...
* Added object copy support to Queue_Enqueue
* Added Queue_Discard to clear the top of the queue
* Added some doxygen for queue functions.
2021-09-20 10:59:59 +02:00
Armin Novak
673fb46836
Fixed uninitialized warnings
2021-09-10 08:16:25 +02:00
Armin Novak
4daa09c3e5
Fixed missing checks for queue functions
2021-09-09 08:53:20 +02:00
akallabeth
f1bde376b1
Raw channel send ( #7255 )
...
* Added raw channel data write function
* Use nego_set_state
* Added ArrayList_ForEachAP
* Provide va_copy for older VS compilers
2021-08-26 16:17:51 +02:00
Armin Novak
610396e197
Fixed compilation warnings
...
Try to get the number of warnings down
2021-08-02 10:28:06 +02:00
Alexandru Bagu
9c259f09ec
fix setValue for HashTable
2021-06-28 09:12:40 +02:00
akallabeth
6726772d8d
Fixed integer warnings
2021-06-18 09:41:02 +02:00
akallabeth
8d82adb28a
Fixed warnings
2021-06-17 10:35:22 +02:00
Armin Novak
d9a8083ddf
Added WINPR_NORETURN, fixed warnings
2021-06-17 10:35:22 +02:00
Armin Novak
1af7ef2f1b
Fixed compilation warnings and typos
2021-06-16 15:21:56 +02:00
Armin Novak
f5bb6d12fc
Fixed compilation warnings
2021-06-16 14:26:06 +02:00
Armin Novak
1b3adfae0a
Added WINPR_ASSERT to Stream and StreamPool
2021-06-16 14:26:06 +02:00
Armin Novak
64280aa13c
Added WINPR_ASSERT to collections
2021-06-16 11:46:42 +02:00
Armin Novak
61c1d82e3b
Return function != NULL in HashTable_SetHashFunction
2021-06-16 11:46:42 +02:00
Armin Novak
31862e60f9
Added missing return checks
2021-06-16 11:46:42 +02:00
Armin Novak
bca7bcd8b0
Cleaned up Queue API, use WINPR_ASSERT
2021-06-16 11:46:42 +02:00
Armin Novak
e25c5625c8
Added WINPR_ASSERT in HashTable
2021-06-16 11:46:42 +02:00
Armin Novak
bfcad7d6aa
Added WINPR_ASSERT in ArrayList
2021-06-16 11:46:42 +02:00
Armin Novak
b9a9f50dd2
Hide HashTable_SetupForStringData implementation
2021-06-16 11:46:42 +02:00
Armin Novak
30776358bb
Readded ArrayList_Add and HashTable_Add as deprecated
2021-06-16 11:46:42 +02:00
Armin Novak
a96c192977
Added parameter checks
2021-06-16 11:46:42 +02:00
Armin Novak
96eca171e2
Removed const from HashTable_ForEach function
2021-06-16 11:46:42 +02:00
Armin Novak
d6c84c28fb
Renamed ArrayList_Add to ArrayList_Append
...
* Do not break API silently
2021-06-16 11:46:42 +02:00
Armin Novak
a1c8e4cf85
Refactored ArrayList_Add to conform to other functions
2021-06-16 11:46:42 +02:00
Armin Novak
880c603c26
Renamed HashTable_Add to HashTable_Insert
...
* Since the changes break HashTable_Add rename it so that it will
not fail silently
2021-06-16 11:46:42 +02:00
Armin Novak
cb642699c8
Modified HashTable API to be opaque
...
* Reuse wObject function pointers
* Add missing getters/setters
* Clean up return types, const correctness of arguments
2021-06-16 11:46:42 +02:00
Marc-André Moreau
96f07ea993
Windows ARM64 build fixes
2021-06-01 14:18:01 +02:00
David Fort
ab4fe21439
winpr: add a HashTable_Foreach function and associated tests
...
This useful functions allows to browse all value pairs of a hashtable without
having to allocate some memory for keys and then retrieving each element.
It may also make sense with synchronized hashtables because before you were forced to
HashTable_GetKeys() and then HashTable_GetItemValue() which is locking again for each
element of the table.
2021-05-17 09:29:25 +02:00
akallabeth
66dc4cc9ee
Fixed compilation warnings.
2020-11-10 08:53:43 +01:00
akallabeth
59ef9a7e8b
Fixed reset of MessageQueue in Clear
2020-11-06 13:02:01 +01:00
akallabeth
6e3c00725a
Cleaned up collections:
...
ArrayList, MessageQueue, Queue, PubSub, BipBuffer
ObjectPool and BufferPool
2020-11-06 12:30:13 +01:00
akallabeth
a5989429f7
Reset Queue_Event when Queue_Clear is called.
2020-11-05 15:32:17 +01:00
Martin Fleisz
b5fa928311
core: Fix race when deleting channel manager
...
This PR fixes a possible crash when the channel manager was freed and
there were pending messages in the message queue.
The problem was that even though the message queue already received the
WMQ_QUIT message, it was still possible to enqueue messages after this
point. This resulted in unprocessed messages in the queue when it was
deleted. The delete handler then called into channel handlers which
where aleady freed/deleted.
With this PR adding messages after WMQ_QUIT was posted to the message
queue returns an error and all channel messages are now processed before
the channels are closed/terminated.
2020-11-03 17:08:58 +01:00
akallabeth
516fc9b910
Fixed locking issue, removed broken functions
2020-11-02 09:23:11 +01:00
akallabeth
0f2a8f214a
Unify StreamPool locking.
2020-10-30 10:17:27 +01:00
Armin Novak
6351885488
Ignore NULL streams in StreamPool_Return
2020-09-02 10:09:48 +02:00
Patrick Chin
8515846317
MessageQueue write time to current message not the next
2020-06-09 08:51:53 +02:00
akallabeth
58ef235bc5
Removed unused variable warnings
2020-05-20 15:10:07 +02:00
Armin Novak
24a8a56694
Fixed #6202 : Missing NULL checks
2020-05-20 15:02:24 +02:00
Armin Novak
50278f7076
Fixed #6201 : event handler count check
2020-05-20 15:02:24 +02:00