X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=philosophe%2Fphilosophe.c;h=f7b5107623b5404a7c4bd424ee4030749caf179d;hb=5bb90b8301bcac76c05099aeaf291ebda07adf00;hp=72b740ed762370407ce8f6334fc0f9dc2b7ac04c;hpb=912658502558d4881fceed04e0fdda7574f4af13;p=TD_SE.git diff --git a/philosophe/philosophe.c b/philosophe/philosophe.c index 72b740e..f7b5107 100644 --- a/philosophe/philosophe.c +++ b/philosophe/philosophe.c @@ -12,11 +12,11 @@ // fourchette droite du philosophe i #define libre 1 #define occupe 0 -int fourch[N] = { libre, libre, libre, libre, libre }; +static int fourch[N]; sem_t mutex; -void *philosophe(void *num) +static void *philosophe(void *num) { int i = *(int *)num, nb = 2; while (nb) { @@ -42,7 +42,11 @@ void *philosophe(void *num) int main() { - int i, NumPhi[N] = { 0, 1, 2, 3, 4 }; + int i, NumPhi[N]; + for (i = 0; i < N; i++) + NumPhi[i] = i; + for (i = 0; i < N; i++) + fourch[i] = libre; pthread_t th[N]; sem_init(&mutex, 0, 1); // création des N philosophes @@ -51,6 +55,6 @@ int main() // attendre la fin des threads for (i = 0; i < N; i++) pthread_join(th[i], NULL); - printf("fin des threads \n"); + printf("fin des threads\n"); return 0; }