From 0b57b74b93c2938249431950b64068e1de46d096 Mon Sep 17 00:00:00 2001 From: Thijs Sassen Date: Mon, 7 Oct 2019 08:47:50 +0200 Subject: [PATCH] Fix compile error when using rusage functionality on FreeRTOS Signed-off-by: Thijs Sassen --- src/ddsrt/include/dds/ddsrt/threads/freertos.h | 1 + src/ddsrt/src/rusage/freertos/rusage.c | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ddsrt/include/dds/ddsrt/threads/freertos.h b/src/ddsrt/include/dds/ddsrt/threads/freertos.h index 50b517f..bf2cafa 100644 --- a/src/ddsrt/include/dds/ddsrt/threads/freertos.h +++ b/src/ddsrt/include/dds/ddsrt/threads/freertos.h @@ -27,6 +27,7 @@ typedef struct { } ddsrt_thread_t; typedef UBaseType_t ddsrt_tid_t; +typedef TaskHandle_t ddsrt_thread_list_id_t; #define PRIdTID "lu" #if defined(__cplusplus) diff --git a/src/ddsrt/src/rusage/freertos/rusage.c b/src/ddsrt/src/rusage/freertos/rusage.c index 7dd2784..ada5d39 100644 --- a/src/ddsrt/src/rusage/freertos/rusage.c +++ b/src/ddsrt/src/rusage/freertos/rusage.c @@ -66,13 +66,13 @@ rusage_self(ddsrt_rusage_t *usage) } static dds_return_t -rusage_thread(ddsrt_rusage_t *usage) +rusage_thread(ddsrt_thread_list_id_t tid, ddsrt_rusage_t *usage) { TaskStatus_t states; memset(usage, 0, sizeof(*usage)); memset(&states, 0, sizeof(states)); - vTaskGetInfo(xTaskGetCurrentTaskHandle(), &states, pdFALSE, eInvalid); + vTaskGetInfo(tid, &states, pdFALSE, eInvalid); usage->stime = states.ulRunTimeCounter * DDSRT_NSECS_IN_RUSAGE_TIME_BASE; return DDS_RETCODE_OK; @@ -97,7 +97,7 @@ ddsrt_getrusage(enum ddsrt_getrusage_who who, ddsrt_rusage_t *usage) assert(usage != NULL); if (who == DDSRT_RUSAGE_THREAD) { - rc = rusage_thread_anythread(xTaskGetCurrentTaskHandle(), usage); + rc = ddsrt_getrusage_anythread(xTaskGetCurrentTaskHandle(), usage); } else { rc = rusage_self(usage); }