diff --git a/run.c b/run.c index 1521f5028c4f6e4ddc5107eda8abd45197ea92f9..a377d56709987c642f8859c05b0954a9d6322b60 100755 --- a/run.c +++ b/run.c @@ -164,6 +164,7 @@ void *calculating(void *param){ struct buffer_rc *buffer_1 = param1->struct1; struct buffer_cw *buffer_2 = param1->struct2; + unsigned long long number; while(buffer_1->stop == 0){ @@ -191,9 +192,11 @@ void *calculating(void *param){ return NULL; } - + number = strtoll(chaine,NULL,0); + if (number != 0 || strcmp("0\n",chaine) == 0) + { struct queue *pr_divs; - pr_divs = prime_divs(strtoll(chaine,NULL,0)); + pr_divs = prime_divs(number); sem_wait(&empty2); pthread_mutex_lock(&mutex2); @@ -201,6 +204,8 @@ void *calculating(void *param){ pthread_mutex_unlock(&mutex2); sem_post(&full2); free(chaine); + } + } return NULL; @@ -344,6 +349,8 @@ int run (char *input,char *output, int n_threads){ N = n_threads; + printf("Lancement du programme avec %d threads \n",N); + FILE *file1; FILE *file2; diff --git a/test.c b/test.c index 598087a6c4d9e5015a7b49a1583a712e85f81b0e..cb03a2c35a06614dc746d839c09da0e0427fce44 100644 --- a/test.c +++ b/test.c @@ -89,16 +89,9 @@ void file_test_N_4(void){ CU_FAIL("expected_output opening fail"); return; } - - clock_t start, end; - double time; - start = clock(); int err = run("Test_files/input.txt","actual_output.txt",4); - end = clock(); - time = (double) (end - start) / CLOCKS_PER_SEC; - printf("Temps pour 4 threads de calculs = %.2f secondes \n",time); if (err == -1){ CU_FAIL("method run failed"); fclose(file1); @@ -136,16 +129,8 @@ void file_test_N_1(void){ CU_FAIL("expected_output opening fail"); return; } - - clock_t start, end; - double time; - start = clock(); int err = run("Test_files/input.txt","actual_output.txt",1); - - end = clock(); - time = (double) (end - start) / CLOCKS_PER_SEC; - printf("Temps pour 1 thread de calcul = %.2f secondes \n",time); if (err == -1){ CU_FAIL("method run failed"); fclose(file1);