ud3tn/include/platform
Felix Walter 1237eaa2db Remove heap-allocated Task_t
`hal_task_create` returned a reference to the new task allocated on the
heap via `malloc`. We commonly used the pattern to `free` this reference
from the new thread which, however, could result in race conditions and
other synchronization issues. We added a fix using a semaphore in the
application agent, but this would have been needed in other places (CLA,
...) as well. As we do not make use of the task reference anywhere
besides in the CLA for error handling, we can remove the heap-allocated
value altogether and replace it with an `enum ud3tn_result` to simplify
things and circumvent the named synchronization issues.

In the case of the CLA function `cla_link_init`, logic is introduced to
request the RX task to exit immediately in case the TX task cannot be
launched.

Signed-off-by: Felix Walter <felix.walter@d3tn.com>
2023-05-10 17:23:55 +02:00
..
posix Remove heap-allocated Task_t 2023-05-10 17:23:55 +02:00
hal_config.h Remove STM32/FreeRTOS support from uD3TN 2022-03-22 00:05:13 +01:00
hal_crypto.h Insert SPDX license expression comments into our .c, .h, .py, and .sh code 2022-02-20 16:24:38 +01:00
hal_io.h Provide LOGERROR() macro for errno logging and remove strerror 2023-05-10 15:37:02 +02:00
hal_platform.h hal_platform: Remove unnecessary platform-dependent functions 2023-05-10 15:07:16 +02:00
hal_queue.h Insert SPDX license expression comments into our .c, .h, .py, and .sh code 2022-02-20 16:24:38 +01:00
hal_semaphore.h hal_semaphore: Supply proper function to check if blocked 2023-05-10 14:37:11 +02:00
hal_task.h Remove heap-allocated Task_t 2023-05-10 17:23:55 +02:00
hal_time.h hal_time: Make time functions thread-safe 2023-05-10 14:32:47 +02:00
hal_types.h Remove STM32/FreeRTOS support from uD3TN 2022-03-22 00:05:13 +01:00