mirror of
https://gitlab.com/d3tn/ud3tn.git
synced 2026-08-15 12:50:49 +02:00
`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> |
||
|---|---|---|
| .. | ||
| posix | ||
| hal_config.h | ||
| hal_crypto.h | ||
| hal_io.h | ||
| hal_platform.h | ||
| hal_queue.h | ||
| hal_semaphore.h | ||
| hal_task.h | ||
| hal_time.h | ||
| hal_types.h | ||