ThreadPool.c File Reference
`#include <sys/param.h>`
`#include "ThreadPool.h"`
`#include "FreeList.h"`
`#include <assert.h>`
`#include <stdlib.h>`
`#include <stdio.h>`
`#include <string.h>`
Include dependency graph for ThreadPool.c:

## Functions

static unsigned long | DiffMillis (struct timeval *time1, struct timeval *time2)
static UPNP_INLINE void | StatsInit (ThreadPoolStats *stats)
static UPNP_INLINE void | StatsAccountLQ (ThreadPool *tp, unsigned long diffTime)
static UPNP_INLINE void | StatsAccountMQ (ThreadPool *tp, unsigned long diffTime)
static UPNP_INLINE void | StatsAccountHQ (ThreadPool *tp, unsigned long diffTime)
static UPNP_INLINE void | CalcWaitTime (ThreadPool *tp, ThreadPriority p, ThreadPoolJob *job)
static UPNP_INLINE time_t | StatsTime (time_t *t)
static int | CmpThreadPoolJob (void *jobA, void *jobB)
static void | FreeThreadPoolJob (ThreadPool *tp, ThreadPoolJob *tpj)
static int | SetPolicyType (PolicyType in)
static int | SetPriority (ThreadPriority priority)
static void | BumpPriority (ThreadPool *tp)
static void | SetRelTimeout (struct timespec *time, int relMillis)
static void | SetSeed ()
static void * | WorkerThread (void *arg)
static ThreadPoolJob * | CreateThreadPoolJob (ThreadPoolJob *job, int id, ThreadPool *tp)
static int | CreateWorker (ThreadPool *tp)
static void | AddWorker (ThreadPool *tp)
int | ThreadPoolInit (ThreadPool *tp, ThreadPoolAttr *attr)
int | ThreadPoolAddPersistent (ThreadPool *tp, ThreadPoolJob *job, int *jobId)
int | ThreadPoolAdd (ThreadPool *tp, ThreadPoolJob *job, int *jobId)
int | ThreadPoolRemove (ThreadPool *tp, int jobId, ThreadPoolJob *out)
int | ThreadPoolGetAttr (ThreadPool *tp, ThreadPoolAttr *out)
int | ThreadPoolSetAttr (ThreadPool *tp, ThreadPoolAttr *attr)
int | ThreadPoolShutdown (ThreadPool *tp)
int | TPAttrInit (ThreadPoolAttr *attr)
int | TPJobInit (ThreadPoolJob *job, start_routine func, void *arg)
int | TPJobSetPriority (ThreadPoolJob *job, ThreadPriority priority)
int | TPJobSetFreeFunction (ThreadPoolJob *job, free_routine func)
int | TPAttrSetMaxThreads (ThreadPoolAttr *attr, int maxThreads)
int | TPAttrSetMinThreads (ThreadPoolAttr *attr, int minThreads)
int | TPAttrSetIdleTime (ThreadPoolAttr *attr, int idleTime)
int | TPAttrSetJobsPerThread (ThreadPoolAttr *attr, int jobsPerThread)
int | TPAttrSetStarvationTime (ThreadPoolAttr *attr, int starvationTime)
int | TPAttrSetSchedPolicy (ThreadPoolAttr *attr, PolicyType schedPolicy)
int | TPAttrSetMaxJobsTotal (ThreadPoolAttr *attr, int maxJobsTotal)