diff --git a/run.c b/run.c index d9f1238fa28f8209e3bc30ebb662b4648fb3d641..ef880fbc05f63bef0a2659c2b1ff9e0d437c1a62 100755 --- a/run.c +++ b/run.c @@ -132,7 +132,7 @@ void enqueue(queue_t* q, uint_64 val){ struct node *ptr; ptr = malloc(sizeof(node_t)); if (ptr == NULL){ - //free(ptr); + return;} ptr->value = val; @@ -149,9 +149,8 @@ void enqueue(queue_t* q, uint_64 val){ } -/* -fait une liste de diviseur premier -*/ +/*Fait une liste de diviseur premier +en vérifiant si number est premier*/ queue_t* prime_divs(uint_64 number){ queue_t *ptr; @@ -173,9 +172,7 @@ queue_t* prime_divs(uint_64 number){ } -/* -Ecriture dans le finchier output -*/ +/*Ecriture dans le finchier output*/ void *writing(void *param){ struct buffer_cw *param1 = (struct buffer_cw *) param; @@ -192,7 +189,7 @@ void *writing(void *param){ if (pr_divs->final == 1) { - if (stop == N-1){ + if (stop == N-1){ \\arrêt des threads free(pr_divs); free(param1->tab); return NULL; @@ -229,7 +226,9 @@ void *writing(void *param){ } - +/*Récupère les élément du buffer 1, +effectue les calculs et +replace les nombres dans le buffers 2*/ void *calculating(void *param){ struct buffer_rccw *param1 = (struct buffer_rccw *) param; @@ -245,7 +244,7 @@ void *calculating(void *param){ pthread_mutex_unlock(&mutex1); sem_post(&empty1); - if (strcmp("stop",chaine) == 0) + if (strcmp("stop",chaine) == 0) // arrêt des threads { struct queue *final; final = malloc(sizeof(queue_t)); @@ -263,7 +262,7 @@ void *calculating(void *param){ return NULL; } uint_64 number; - number = strtoll(chaine,NULL,0); + number = strtoll(chaine,NULL,0); //conversion en long long if (number != 0 || strcmp("0\n",chaine) == 0) { struct queue *pr_divs; @@ -282,9 +281,7 @@ void *calculating(void *param){ return NULL; } -/* -Fonction qui lit un finchier d'entrée -*/ +/*Fonction qui lit un finchier d'entrée*/ void *reading (void *param){