![]() |
This is Unofficial EPICS BASE Doxygen Site
|
Include dependency graph for epicsThreadPool.h:
This graph shows which files directly or indirectly include this file: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.