5 #include "libinterface.h"
7 /** Example implementation of linux rw lock along with 2 thread test
14 static inline bool write_trylock(rwlock_t *rw)
16 int priorvalue=rmw_32(CAS, &rw->lock, 0, 1);
20 static inline void write_unlock(rwlock_t *rw)
22 store_32(&rw->lock, 0);
28 int flag=write_trylock(mylock);
35 static void a(void *obj)
38 for(i=0;i<PROBLEMSIZE;i++)
42 int user_main(int argc, char **argv)
44 thrd_t t1, t2;//, t3, t4;
45 mylock = (rwlock_t*)malloc(sizeof(rwlock_t));
46 store_32(&mylock->lock, 0);
48 thrd_create(&t1, (thrd_start_t)&a, NULL);
49 thrd_create(&t2, (thrd_start_t)&a, NULL);
50 //thrd_create(&t3, (thrd_start_t)&a, NULL);
51 //thrd_create(&t4, (thrd_start_t)&a, NULL);