libUPnP  1.8.0
Functions
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 ThreadPoolJobCreateThreadPoolJob (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)

Detailed Description