Next version of JABA
[jabaws.git] / binaries / src / fasta34 / uthr_subs.h
1
2 /***************************************/
3 /* thread global variable declarations */
4 /***************************************/
5
6
7 /* $Name: fa_34_26_5 $ - $Id: uthr_subs.h,v 1.1.1.1 1999/10/22 20:56:02 wrp Exp $ */
8
9
10 #ifndef MAX_WORKERS
11 #define MAX_WORKERS 2
12 #endif
13 #define NUM_WORK_BUF 2*MAX_WORKERS
14
15 #include <synch.h>
16 #include <thread.h>
17
18 #define check(status,string) \
19      if (status == -1) perror(string)   /* error macro for thread calls */
20
21 #ifndef XTERNAL
22
23 thread_t threads[MAX_WORKERS];
24
25 /* mutex stuff */
26
27 mutex_t reader_mutex;      /* empty buffer pointer structure lock */
28 mutex_t worker_mutex;      /* full buffer pointer structure lock */
29
30 /* condition variable stuff */
31
32 cond_t reader_cond_var;    /* condition variable for reader */
33 cond_t worker_cond_var;    /* condition variable for workers */
34
35 mutex_t start_mutex;       /* start-up synchronisation lock */
36 cond_t start_cond_var;     /* start-up synchronisation condition variable */
37
38 #else
39
40 extern thread_t threads[];
41
42 /* mutex stuff */
43
44 extern mutex_t reader_mutex;
45 extern mutex_t worker_mutex;
46
47 /* condition variable stuff */
48
49 extern cond_t reader_cond_var;
50 extern cond_t worker_cond_var;
51
52 extern mutex_t start_mutex;
53 extern cond_t start_cond_var;
54
55 #endif