#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include "dbDefs.h"
#include "errlog.h"
#include "ellLib.h"
#include "epicsThread.h"
#include "epicsMutex.h"
#include "epicsEvent.h"
#include "epicsInterrupt.h"
#include "epicsThreadPool.h"
#include "poolPriv.h"
Go to the source code of this file.
Definition at line 117 of file poolJob.c.
epicsThreadId epicsStdCall epicsThreadCreate(const char *name, unsigned int priority, unsigned int stackSize, EPICSTHREADFUNC funptr, void *parm)
unsigned int workerPriority
epicsThreadPoolConfig conf
unsigned int threadsRunning
unsigned int threadsSleeping
Definition at line 134 of file poolJob.c.
138 epicsJob *job = calloc(1,
sizeof(*job));
int epicsJobMove(epicsJob *job, epicsThreadPool *newpool)
void * epicsJobArgSelfMagic
Definition at line 155 of file poolJob.c.
158 if (!job || !job->
pool) {
int epicsJobUnqueue(epicsJob *job)
#define assert(exp)
Declare that a condition should be true.
unsigned int freewhendone
void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode)
Release the semaphore.
#define epicsMutexMustLock(ID)
Claim a semaphore (see epicsMutexLock()).
void ellDelete(ELLLIST *pList, ELLNODE *pNode)
Deletes a node from a list.
Definition at line 182 of file poolJob.c.
200 pool = job->
pool = newpool;
void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode)
Release the semaphore.
void ellAdd(ELLLIST *pList, ELLNODE *pNode)
Adds a node to the end of a list.
#define epicsMutexMustLock(ID)
Claim a semaphore (see epicsMutexLock()).
void ellDelete(ELLLIST *pList, ELLNODE *pNode)
Deletes a node from a list.
Definition at line 214 of file poolJob.c.
epicsEventId workerWakeup
#define CHECKCOUNT(pPool)
#define assert(exp)
Declare that a condition should be true.
unsigned int freewhendone
int createPoolThread(epicsThreadPool *pool)
void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode)
Release the semaphore.
unsigned int threadsWaking
void ellAdd(ELLLIST *pList, ELLNODE *pNode)
Adds a node to the end of a list.
#define epicsEventSignal(ID)
A synonym for epicsEventTrigger().
epicsThreadPoolConfig conf
unsigned int threadsRunning
unsigned int threadsSleeping
#define epicsMutexMustLock(ID)
Claim a semaphore (see epicsMutexLock()).
void ellDelete(ELLLIST *pList, ELLNODE *pNode)
Deletes a node from a list.
Definition at line 301 of file poolJob.c.
#define assert(exp)
Declare that a condition should be true.
void epicsStdCall epicsMutexUnlock(epicsMutexId pmutexNode)
Release the semaphore.
void ellAdd(ELLLIST *pList, ELLNODE *pNode)
Adds a node to the end of a list.
#define epicsMutexMustLock(ID)
Claim a semaphore (see epicsMutexLock()).
void ellDelete(ELLLIST *pList, ELLNODE *pNode)
Deletes a node from a list.
void* epicsJobArgSelfMagic = &epicsJobArgSelfMagic |