Ejemplo n.º 1
0
void *updaterThread(void *arg){

  int i;
  for(i = 0; i < 10; i++){    
    pthread_mutex_lock(&lock);
    struct wonk *newval = getNewVal(&shrdPtr);
    shrdPtr = newval;
    pthread_mutex_unlock(&lock);
  }

}
Ejemplo n.º 2
0
void *updaterThread(void *arg){
    
    int i;
    for(i = 0; i < 10; i++){
        pthread_mutex_lock(&lock);
        struct wonk *newval = getNewVal(&symb_shrdPtr); //Nuno: replicate getNewVal on symb_shrdPtr to allow capture symb operations on shrdPtr
        pthread_mutex_unlock(&lock);
        usleep(20);
        pthread_mutex_lock(&lock);
        shrdPtr = newval; symb_shrdPtr = newval; //Nuno: replicate operation for symb_shrdPtr
        pthread_mutex_unlock(&lock);
    }
    
}
Ejemplo n.º 3
0
void *updaterThread(void *arg){

  pthread_barrier_wait(&bar);

  int i;
  for(i = 0; i < 10; i++){    
    pthread_mutex_lock(&lock);
    struct wonk*newval = getNewVal(&shrdPtr);
    pthread_mutex_unlock(&lock);
 
  
    pthread_mutex_lock(&lock);
    shrdPtr = newval;
    pthread_mutex_unlock(&lock);
  }
  pthread_exit(0);
}