void process_value (int v, int n) { int i, j ; ft_thread_unlink(); int t = (int) (10000*((double)rand())/ RAND_MAX); usleep(t); ft_thread_link(out_sched); put(v,&out ); ft_thread_cooperate(); ft_thread_unlink(); ft_thread_link(in_sched); /* ?????????? */ }
void process_value (int v) { int i,j; ft_thread_unlink (); for (i=0;i<PROCESSING;i++) j++; ft_thread_link (file_sched); put (v+1,&file); ft_thread_generate (new_elem); }
void behav (void *args) { ft_thread_t self; fprintf (stdout, "running\n"); self = ft_thread_self (); if (self == NULL) fprintf (stdout, "bad self 4\n"); ft_thread_unlink (); self = ft_thread_self (); if (self == NULL) fprintf (stdout, "bad self 5\n"); fprintf (stdout, "ending\n"); exit (0); }
void unlinked (void *arg) { int i; pthread_mutex_t* mutex = arg; ft_thread_unlink (); for (i=0;i<MAX;i++){ ft_thread_mutex_lock (mutex); V1++; V2++; ft_thread_mutex_unlock (mutex); } ft_thread_link (sched); }