Next version of JABA
[jabaws.git] / binaries / src / fasta34 / thr.h
1
2 /***************************************/
3 /* thread global variable declarations */
4 /***************************************/
5
6 /* $Name: fa_34_26_5 $ - $Id: thr.h,v 1.2 1999/12/30 01:26:59 wrp Exp $ */
7
8 #ifndef MAX_WORKERS
9 #define MAX_WORKERS 2
10 #endif
11 #define NUM_WORK_BUF 2*MAX_WORKERS
12
13 #ifndef XTERNAL
14 struct buf_head *worker_buf[NUM_WORK_BUF];  /* pointers to full buffers */
15 struct buf_head *reader_buf[NUM_WORK_BUF];  /* pointers to empty buffers */
16
17 /* protected by worker_mutex/woker_cond_var */
18 int worker_buf_workp, worker_buf_readp; /* indices into full-buffers ptrs */
19 int num_worker_bufs;
20 int reader_done;
21
22 /* protected by reader_mutex/reader_cond var */
23 int reader_buf_workp, reader_buf_readp; /* indices into empty-buffers ptrs */
24 int num_reader_bufs;
25
26 /* protected by start_mutex/start_cont_var */
27 int start_thread=1;        /* start-up predicate, 0 starts */
28 #else
29 extern struct buf_head *worker_buf[];
30 extern struct buf_head *reader_buf[];
31 extern int num_worker_bufs, reader_done, num_reader_bufs;
32 extern int worker_buf_workp, worker_buf_readp;
33 extern int reader_buf_workp, reader_buf_readp;
34
35 extern int start_thread;
36 #endif
37