Next version of JABA
[jabaws.git] / binaries / src / fasta34 / pthr_subs.h
1
2
3 /* $Name: fa_34_26_5 $ - $Id: pthr_subs.h,v 1.1.1.1 1999/10/22 20:56:01 wrp Exp $ */
4
5
6 #include <pthread.h>
7
8 /* error macro for thread calls */
9
10 #define check(status,string) \
11    if (status != 0) {fprintf(stderr,string); \
12      fprintf(stderr,"%s\n",strerror(status)); } /* error macro */
13
14 /*
15 #define check(status,string) \
16      if (status == -1) perror(string)  */ /* error macro for thread calls */
17
18
19 #ifndef XTERNAL
20 pthread_t threads[MAX_WORKERS];
21
22 /* mutex stuff */
23
24 pthread_mutex_t reader_mutex;      /* empty buffer pointer structure lock */
25 pthread_mutex_t worker_mutex;      /* full buffer pointer structure lock */
26
27 /* condition variable stuff */
28
29 pthread_cond_t reader_cond_var;    /* condition variable for reader */
30 pthread_cond_t worker_cond_var;    /* condition variable for workers */
31
32 pthread_mutex_t start_mutex;       /* start-up synchronisation lock */
33 pthread_cond_t start_cond_var;     /* start-up synchronisation condition variable */
34
35 extern pthread_t threads[];
36
37 /* mutex stuff */
38
39 extern pthread_mutex_t reader_mutex;
40 extern pthread_mutex_t worker_mutex;
41
42 /* condition variable stuff */
43
44 extern pthread_cond_t reader_cond_var;
45 extern pthread_cond_t worker_cond_var;
46
47 extern pthread_mutex_t start_mutex;
48 extern pthread_cond_t start_cond_var;
49 extern int start_thread;
50
51 #endif