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)