AWS IoT Device SDK C: Task Pool
Task pool library
Return to main page ↑
iot_taskpool_static_memory.c File Reference

Implementation of task pool static memory functions. More...

#include "iot_config.h"
#include <stddef.h>
#include <string.h>
#include "iot_static_memory.h"
#include "private/iot_taskpool_internal.h"

Functions

void * IotTaskPool_MallocTaskPool (size_t size)
 Allocate an _taskPool_t. This function should have the same signature as [malloc].
 
void IotTaskPool_FreeTaskPool (void *ptr)
 Free an _taskPool_t. This function should have the same signature as [malloc].
 
void * IotTaskPool_MallocJob (size_t size)
 Allocate an IotTaskPoolJob_t. This function should have the same signature as [malloc].
 
void IotTaskPool_FreeJob (void *ptr)
 Free an IotTaskPoolJob_t. This function should have the same same signature as [malloc]. (http://pubs.opengroup.org/onlinepubs/9699919799/functions/malloc.html).
 
void * IotTaskPool_MallocTimerEvent (size_t size)
 Allocate an _taskPoolTimerEvent_t. This function should have the same signature as [malloc].
 
void IotTaskPool_FreeTimerEvent (void *ptr)
 Free an _taskPoolTimerEvent_t. This function should have the same signature as[ free ].
 

Variables

static uint32_t _pInUseTaskPools [IOT_TASKPOOLS] = { 0U }
 Task pools in-use flags.
 
static _taskPool_t _pTaskPools [IOT_TASKPOOLS] = { { .dispatchQueue = IOT_DEQUEUE_INITIALIZER } }
 Task pools.
 
static uint32_t _pInUseTaskPoolJobs [IOT_TASKPOOL_JOBS_RECYCLE_LIMIT] = { 0U }
 Task pool jobs in-use flags.
 
static _taskPoolJob_t _pTaskPoolJobs [IOT_TASKPOOL_JOBS_RECYCLE_LIMIT] = { { .link = IOT_LINK_INITIALIZER } }
 Task pool jobs.
 
static uint32_t _pInUseTaskPoolTimerEvents [IOT_TASKPOOL_JOBS_RECYCLE_LIMIT] = { 0U }
 Task pool timer event in-use flags.
 
static _taskPoolTimerEvent_t _pTaskPoolTimerEvents [IOT_TASKPOOL_JOBS_RECYCLE_LIMIT] = { { .link = { 0 } } }
 Task pool timer events.
 

Detailed Description

Implementation of task pool static memory functions.