AWS IoT Device SDK C: Task Pool
Task pool library
Return to main page ↑
_taskPool_t Struct Reference

The task pool data structure keeps track of the internal state and the signals for the dispatcher threads. The task pool is a thread safe data structure. More...

#include <iot_taskpool_internal.h>

Data Fields

IotDeQueue_t dispatchQueue
 The queue for the jobs waiting to be executed.
 
IotListDouble_t timerEventsList
 The timeouts queue for all deferred jobs waiting to be executed.
 
_taskPoolCache_t jobsCache
 A cache to re-use jobs in order to limit memory allocations.
 
uint32_t minThreads
 The minimum number of threads for the task pool.
 
uint32_t maxThreads
 The maximum number of threads for the task pool.
 
uint32_t activeThreads
 The number of threads in the task pool at any given time.
 
uint32_t activeJobs
 The number of active jobs in the task pool at any given time.
 
uint32_t stackSize
 The stack size for all task pool threads.
 
int32_t priority
 The priority for all task pool threads.
 
IotSemaphore_t dispatchSignal
 The synchronization object on which threads are waiting for incoming jobs.
 
IotSemaphore_t startStopSignal
 The synchronization object for threads to signal start and stop condition.
 
IotTimer_t timer
 The timer for deferred jobs.
 
IotMutex_t lock
 The lock to protect the task pool data structure access.
 

Detailed Description

The task pool data structure keeps track of the internal state and the signals for the dispatcher threads. The task pool is a thread safe data structure.

Warning
This is a system-level data type that should not be modified or used directly in any application.
This is a system-level data type that can and will change across different versions of the platform, with no regards for backward compatibility.

The documentation for this struct was generated from the following file: