#include <pthread.h>
#include <signal.h>
◆ QPTHREAD_ATTR_DESTROY
#define QPTHREAD_ATTR_DESTROY |
( |
|
pthread_attr | ) |
|
Value:{if (pthread_attr_destroy(pthread_attr)) \
"*Error*: pthread_attr_destroy() failed for ",#pthread_attr);;}
◆ QPTHREAD_ATTR_INIT
#define QPTHREAD_ATTR_INIT |
( |
|
pthread_attr | ) |
|
Value:{if (pthread_attr_init(pthread_attr)) \
"*Error*: pthread_attr_init() failed for ", #pthread_attr );;}
◆ QPTHREAD_ATTR_SETDETACHSTATE
#define QPTHREAD_ATTR_SETDETACHSTATE |
( |
|
pthread_attr, |
|
|
|
attr |
|
) |
| |
Value:{if (pthread_attr_setdetachstate(pthread_attr, attr)) \
"*Error*: pthread_attr_setdetachstate() failed for ", \
#pthread_attr );;}
◆ QPTHREAD_CANCEL
#define QPTHREAD_CANCEL |
( |
|
pthread | ) |
|
Value:{if (pthread_cancel(pthread)) \
warning( \
"failed to cancel ", #pthread );;}
◆ QPTHREAD_COND_BROADCAST
#define QPTHREAD_COND_BROADCAST |
( |
|
cond | ) |
|
Value:{if (pthread_cond_broadcast(cond)) \
"*Error*: pthread_cond_broadcast() failed for ", #cond );;}
◆ QPTHREAD_COND_DESTROY
#define QPTHREAD_COND_DESTROY |
( |
|
cond | ) |
|
Value:{if (pthread_cond_destroy(cond)) \
"*Error*: pthread_cond_destroy() failed for ", #cond );;}
◆ QPTHREAD_COND_INIT
#define QPTHREAD_COND_INIT |
( |
|
cond, |
|
|
|
attr |
|
) |
| |
Value:{if (pthread_cond_init(cond, attr)) \
"*Error*: pthread_cond_init() failed for ", #cond );;}
◆ QPTHREAD_COND_SIGNAL
#define QPTHREAD_COND_SIGNAL |
( |
|
cond | ) |
|
Value:{if (pthread_cond_signal(cond)) \
"*Error*: pthread_cond_signal() failed for ", #cond );;}
◆ QPTHREAD_COND_WAIT
#define QPTHREAD_COND_WAIT |
( |
|
cond, |
|
|
|
mutex |
|
) |
| |
Value:{if (pthread_cond_wait(cond, mutex)) \
"*Error*: pthread_cond_wait() failed for ", #cond );;}
◆ QPTHREAD_CREATE
#define QPTHREAD_CREATE |
( |
|
pthread, |
|
|
|
attr, |
|
|
|
func, |
|
|
|
arg |
|
) |
| |
Value:{
if (pthread_create(pthread, attr,
func,
arg)) \
"*Error*: pthread_create() failed for ", #pthread );;}
arg demonstrates additional data passing to expfit jacexpfit arg
Definition: lmdemo.m:17
static void func(double *p, double *hx, int m, int n, void *adata)
Definition: levmar.c:95
◆ QPTHREAD_JOIN
#define QPTHREAD_JOIN |
( |
|
pthread, |
|
|
|
ret |
|
) |
| |
Value:{
if (pthread_join(pthread,
ret)) \
"*Error*: pthread_join() failed for ", #pthread );;}
ret
Definition: meteoRRD_createRRD.py:13
◆ QPTHREAD_MUTEX_DESTROY
#define QPTHREAD_MUTEX_DESTROY |
( |
|
mutex | ) |
|
Value:{if (pthread_mutex_destroy(mutex)) \
"*Error*: pthread_mutex_destroy() failed for ", #mutex );;}
◆ QPTHREAD_MUTEX_INIT
#define QPTHREAD_MUTEX_INIT |
( |
|
mutex, |
|
|
|
attr |
|
) |
| |
Value:{if (pthread_mutex_init(mutex, attr)) \
"*Error*: pthread_mutex_init() failed for ", #mutex );;}
◆ QPTHREAD_MUTEX_LOCK
#define QPTHREAD_MUTEX_LOCK |
( |
|
mutex | ) |
|
Value:{if (pthread_mutex_lock(mutex)) \
"*Error*: pthread_mutex_lock() failed for ", #mutex );;}
◆ QPTHREAD_MUTEX_UNLOCK
#define QPTHREAD_MUTEX_UNLOCK |
( |
|
mutex | ) |
|
Value:{if (pthread_mutex_unlock(mutex)) \
"*Error*: pthread_mutex_unlock() failed for ", #mutex );;}
◆ STATE_BUSY
◆ STATE_FREE
◆ STATE_READY
◆ threads_gate_t
◆ threads_gate_end()
◆ threads_gate_init()
threads_gate_t* threads_gate_init |
( |
int |
nthreads, |
|
|
void(*)(void) |
func |
|
) |
| |
◆ threads_gate_sync()
◆ nproc