HTL_thread_executor_free
Releases an executor.
Interface Definition
int HTL_thread_executor_free(HTL_thread_executor_t *executor);
Description
HTL_thread_executor_free() is used to release executor resources and set the executor to HTL_THREAD_EXECUTOR_NULL. If the executor is still running, the function is blocked until the executor terminates.
This function cannot release the executor of the running caller and the primary executor. HTL_thread_executor_join() and HTL_thread_executor_free() can block only one caller on the same executor.
Parameters
Parameter |
Type |
Description |
Input/Output |
|---|---|---|---|
executor |
HTL_thread_executor * |
Address of the handle to the executor. |
Input/Output |
Return Value
- HTL_THREAD_SUCCESS: success.
- Other values: failure. For details, see the error code descriptions.
Example
num_executors = NUM_EXECUTORS;
HTL_thread_executor_t *executors;
executors = (HTL_thread_executor_t *)malloc(sizeof(HTL_thread_executor_t) * num_executors);
for (i = 1; i < num_executors; i++) {
HTL_thread_executor_create_basic(HTL_THREAD_SCHEDULER_DEFAULT, 1, &g_pools[i],
HTL_THREAD_SCHEDULER_CONFIG_NULL, &executors[i]);
}
for (i = 1; i < num_executors; i++) {
HTL_thread_executor_free(&executors[i]);
}
Parent topic: Executor Functions