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.