1 #ifndef THREAD_CONTROL_DEF
2 #define THREAD_CONTROL_DEF
3 
4 #include "ReadAlignChunk.h"
5 #include <pthread.h>
6 
7 #define MAX_chunkOutBAMposition 100000
8 
9 class ThreadControl {
10 public:
11     bool threadBool;
12 
13     pthread_t *threadArray;
14     pthread_mutex_t mutexInRead, mutexOutSAM, mutexOutBAM1, mutexOutChimSAM, mutexOutChimJunction, mutexOutUnmappedFastx, mutexOutFilterBySJout;
15     pthread_mutex_t mutexStats, mutexLogMain, mutexBAMsortBins, mutexError;
16 
17     uint chunkInN,chunkOutN;
18 
19     ThreadControl();
20 
threadRAprocessChunks(void * RAchunk)21     static void* threadRAprocessChunks(void *RAchunk) {
22         ( (ReadAlignChunk*) RAchunk )->processChunks();
23         pthread_exit(0);
24         return NULL;
25     };
26 };
27 
28 #endif
29 
30