pub unsafe extern "C" fn vTaskSetThreadLocalStoragePointerAndDelCallback(
xTaskToSet: *mut tskTaskControlBlock,
xIndex: i32,
pvValue: *mut c_void,
pvDelCallback: Option<unsafe extern "C" fn(_: i32, _: *mut c_void)>,
)
Expand description
Set local storage pointer and deletion callback.
Each task contains an array of pointers that is dimensioned by the configNUM_THREAD_LOCAL_STORAGE_POINTERS setting in FreeRTOSConfig.h. The kernel does not use the pointers itself, so the application writer can use the pointers for any purpose they wish.
Local storage pointers set for a task can reference dynamically allocated resources. This function is similar to vTaskSetThreadLocalStoragePointer, but provides a way to release these resources when the task gets deleted. For each pointer, a callback function can be set. This function will be called when task is deleted, with the local storage pointer index and value as arguments.
@param xTaskToSet Task to set thread local storage pointer for @param xIndex The index of the pointer to set, from 0 to configNUM_THREAD_LOCAL_STORAGE_POINTERS - 1. @param pvValue Pointer value to set. @param pvDelCallback Function to call to dispose of the local storage pointer when the task is deleted.