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