fix(freertos): notifiy-based sync can be initialized from any task (#6692)
This commit is contained in:
@@ -51,7 +51,7 @@ extern "C" {
|
||||
|
||||
typedef struct {
|
||||
void (*pvStartRoutine)(void *); /**< Application thread function. */
|
||||
void * xTaskArg; /**< Arguments for application thread function. */
|
||||
void * pTaskArg; /**< Arguments for application thread function. */
|
||||
TaskHandle_t xTaskHandle; /**< FreeRTOS task handle. */
|
||||
} lv_thread_t;
|
||||
|
||||
@@ -61,15 +61,15 @@ typedef struct {
|
||||
} lv_mutex_t;
|
||||
|
||||
typedef struct {
|
||||
#if USE_FREERTOS_TASK_NOTIFY
|
||||
TaskHandle_t xTaskToNotify;
|
||||
#else
|
||||
BaseType_t
|
||||
xIsInitialized; /**< Set to pdTRUE if this condition variable is initialized, pdFALSE otherwise. */
|
||||
BaseType_t xSyncSignal; /**< Set to pdTRUE if the thread is signaled, pdFALSE otherwise. */
|
||||
#if USE_FREERTOS_TASK_NOTIFY
|
||||
TaskHandle_t xTaskToNotify; /**< The task waiting to be signalled. NULL if nothing is waiting. */
|
||||
#else
|
||||
SemaphoreHandle_t xCondWaitSemaphore; /**< Threads block on this semaphore in lv_thread_sync_wait. */
|
||||
uint32_t ulWaitingThreads; /**< The number of threads currently waiting on this condition variable. */
|
||||
SemaphoreHandle_t xSyncMutex; /**< Threads take this mutex before accessing the condition variable. */
|
||||
BaseType_t xSyncSignal; /**< Set to pdTRUE if the thread is signaled, pdFALSE otherwise. */
|
||||
#endif
|
||||
} lv_thread_sync_t;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user