![]() |
This is Unofficial EPICS BASE Doxygen Site
|
Go to the source code of this file.
Classes | |
struct | epicsThreadPoolConfig |
Macros | |
#define | S_pool_jobBusy (M_pool| 1) /*Job already queued or running*/ |
#define | S_pool_jobIdle (M_pool| 2) /*Job was not queued or running*/ |
#define | S_pool_noPool (M_pool| 3) /*Job not associated with a pool*/ |
#define | S_pool_paused (M_pool| 4) /*Pool not currently accepting jobs*/ |
#define | S_pool_noThreads (M_pool| 5) /*Can't create worker thread*/ |
#define | S_pool_timeout (M_pool| 6) /*Pool still busy after timeout*/ |
#define | EPICSJOB_SELF epicsJobArgSelfMagic |
Typedefs | |
typedef struct epicsThreadPool | epicsThreadPool |
typedef void(* | epicsJobFunction) (void *arg, epicsJobMode mode) |
typedef struct epicsJob | epicsJob |
Enumerations | |
enum | epicsJobMode { epicsJobModeRun, epicsJobModeCleanup } |
enum | epicsThreadPoolOption { epicsThreadPoolQueueAdd, epicsThreadPoolQueueRun } |
Functions | |
LIBCOM_API void | epicsThreadPoolConfigDefaults (epicsThreadPoolConfig *) |
LIBCOM_API epicsThreadPool * | epicsThreadPoolGetShared (epicsThreadPoolConfig *opts) |
LIBCOM_API void | epicsThreadPoolReleaseShared (epicsThreadPool *pool) |
LIBCOM_API epicsThreadPool * | epicsThreadPoolCreate (epicsThreadPoolConfig *opts) |
LIBCOM_API void | epicsThreadPoolDestroy (epicsThreadPool *) |
LIBCOM_API void | epicsThreadPoolControl (epicsThreadPool *pool, epicsThreadPoolOption opt, unsigned int val) |
LIBCOM_API int | epicsThreadPoolWait (epicsThreadPool *pool, double timeout) |
LIBCOM_API epicsJob * | epicsJobCreate (epicsThreadPool *pool, epicsJobFunction cb, void *user) |
LIBCOM_API void | epicsJobDestroy (epicsJob *) |
LIBCOM_API int | epicsJobMove (epicsJob *job, epicsThreadPool *pool) |
LIBCOM_API int | epicsJobQueue (epicsJob *) |
LIBCOM_API int | epicsJobUnqueue (epicsJob *) |
LIBCOM_API void | epicsThreadPoolReport (epicsThreadPool *pool, FILE *fd) |
LIBCOM_API unsigned int | epicsThreadPoolNThreads (epicsThreadPool *) |
Variables | |
LIBCOM_API void * | epicsJobArgSelfMagic |
#define EPICSJOB_SELF epicsJobArgSelfMagic |
Definition at line 107 of file epicsThreadPool.h.
#define S_pool_jobBusy (M_pool| 1) /*Job already queued or running*/ |
Definition at line 19 of file epicsThreadPool.h.
#define S_pool_jobIdle (M_pool| 2) /*Job was not queued or running*/ |
Definition at line 20 of file epicsThreadPool.h.
#define S_pool_noPool (M_pool| 3) /*Job not associated with a pool*/ |
Definition at line 21 of file epicsThreadPool.h.
#define S_pool_noThreads (M_pool| 5) /*Can't create worker thread*/ |
Definition at line 23 of file epicsThreadPool.h.
#define S_pool_paused (M_pool| 4) /*Pool not currently accepting jobs*/ |
Definition at line 22 of file epicsThreadPool.h.
Definition at line 24 of file epicsThreadPool.h.
Definition at line 54 of file epicsThreadPool.h.
typedef void(* epicsJobFunction) (void *arg, epicsJobMode mode) |
Definition at line 52 of file epicsThreadPool.h.
typedef struct epicsThreadPool epicsThreadPool |
Definition at line 37 of file epicsThreadPool.h.
enum epicsJobMode |
Enumerator | |
---|---|
epicsJobModeRun | |
epicsJobModeCleanup |
Definition at line 40 of file epicsThreadPool.h.
Enumerator | |
---|---|
epicsThreadPoolQueueAdd | |
epicsThreadPoolQueueRun |
Definition at line 82 of file epicsThreadPool.h.
LIBCOM_API epicsJob* epicsJobCreate | ( | epicsThreadPool * | pool, |
epicsJobFunction | cb, | ||
void * | user | ||
) |
Definition at line 134 of file poolJob.c.
LIBCOM_API void epicsJobDestroy | ( | epicsJob * | ) |
Definition at line 155 of file poolJob.c.
LIBCOM_API int epicsJobMove | ( | epicsJob * | job, |
epicsThreadPool * | pool | ||
) |
Definition at line 182 of file poolJob.c.
LIBCOM_API int epicsJobQueue | ( | epicsJob * | ) |
Definition at line 214 of file poolJob.c.
LIBCOM_API int epicsJobUnqueue | ( | epicsJob * | ) |
Definition at line 301 of file poolJob.c.
LIBCOM_API void epicsThreadPoolConfigDefaults | ( | epicsThreadPoolConfig * | ) |
Definition at line 26 of file threadPool.c.
LIBCOM_API void epicsThreadPoolControl | ( | epicsThreadPool * | pool, |
epicsThreadPoolOption | opt, | ||
unsigned int | val | ||
) |
Definition at line 152 of file threadPool.c.
LIBCOM_API epicsThreadPool* epicsThreadPoolCreate | ( | epicsThreadPoolConfig * | opts | ) |
Definition at line 37 of file threadPool.c.
LIBCOM_API void epicsThreadPoolDestroy | ( | epicsThreadPool * | ) |
Definition at line 199 of file threadPool.c.
LIBCOM_API epicsThreadPool* epicsThreadPoolGetShared | ( | epicsThreadPoolConfig * | opts | ) |
Definition at line 328 of file threadPool.c.
LIBCOM_API unsigned int epicsThreadPoolNThreads | ( | epicsThreadPool * | ) |
Definition at line 302 of file threadPool.c.
LIBCOM_API void epicsThreadPoolReleaseShared | ( | epicsThreadPool * | pool | ) |
Definition at line 385 of file threadPool.c.
LIBCOM_API void epicsThreadPoolReport | ( | epicsThreadPool * | pool, |
FILE * | fd | ||
) |
Definition at line 266 of file threadPool.c.
LIBCOM_API int epicsThreadPoolWait | ( | epicsThreadPool * | pool, |
double | timeout | ||
) |
Definition at line 159 of file threadPool.c.