make atomic work in normal java mode...it just uses coarse locks
[IRC.git] / Robust / src / Runtime / thread.h
1 #ifndef THREAD_H
2 #define THREAD_H
3 #include "methodheaders.h"
4 #include <pthread.h>
5
6 extern int threadcount;
7 extern pthread_mutex_t gclock;
8 extern pthread_mutex_t gclistlock;
9 extern pthread_cond_t gccond;
10 extern pthread_mutex_t objlock;
11 extern pthread_cond_t objcond;
12 extern pthread_key_t threadlocks;
13 extern pthread_mutex_t atomiclock;
14
15 #if defined(THREADS)||defined(STM)
16 void initthread(struct ___Thread___ * ___this___);
17 #endif
18 #ifdef DSTM
19 void initDSMthread(int *ptr);
20 void startDSMthread(int oid, int objType);
21 extern void * virtualtable[];
22 #endif
23
24 struct locklist {
25   struct locklist * next;
26   struct locklist * prev;
27   struct ___Object___ * object;
28 };
29 #endif