18#ifndef _LWP_PRIVATE_H_
19#define _LWP_PRIVATE_H_
65#define LWP_DBG_LOCKS 1
70#define lwp_dbg(class, msg...) \
72 if (lwp_loglevel & class) { \
73 fprintf(lwp_logfile, ##msg); \
74 fflush(lwp_logfile); \
78#define lwp_mutex_lock(lock) \
79 pthread_cleanup_push((void (*)(void *))pthread_mutex_unlock, \
81 pthread_mutex_lock(lock)
83#define lwp_mutex_unlock(lock) pthread_cleanup_pop(1)
int lwp_threads_waiting(void)
Definition: lwp_pt.c:94
int lwp_loglevel
Definition: lwp_pt.c:42
void lwp_YIELD(PROCESS pid)
Definition: lwp_pt.c:116
void lwp_LEAVE(PROCESS pid)
Definition: lwp_pt.c:105
void lwp_JOIN(PROCESS pid)
FILE * lwp_logfile
Definition: lwp_pt.c:41
#define MAXROCKS
Definition: lwp.private_pt.h:46
Definition: lwp.private_pt.h:33
int concurrent
Definition: lwp.private_pt.h:37
pthread_t thread
Definition: lwp.private_pt.h:34
int priority
Definition: lwp.private_pt.h:39
sem_t waitq
Definition: lwp.private_pt.h:50
pthread_cond_t event
Definition: lwp.private_pt.h:52
void * parm
Definition: lwp.private_pt.h:44
int eventcnt
Definition: lwp.private_pt.h:53
int waitcnt
Definition: lwp.private_pt.h:54
struct list_head list
Definition: lwp.private_pt.h:35
int nrocks
Definition: lwp.private_pt.h:47
char ** evlist
Definition: lwp.private_pt.h:56
char * name
Definition: lwp.private_pt.h:41
void(* func)(void *)
Definition: lwp.private_pt.h:43
int waiting
Definition: lwp.private_pt.h:38
int evsize
Definition: lwp.private_pt.h:55
Definition: lwp.private_pt.h:28
int tag
Definition: lwp.private_pt.h:29
char * value
Definition: lwp.private_pt.h:30