X-Git-Url: https://git.piment-noir.org/?a=blobdiff_plain;f=philosophe%2Fphilosophe.c;h=f7b5107623b5404a7c4bd424ee4030749caf179d;hb=5bb90b8301bcac76c05099aeaf291ebda07adf00;hp=ebd4ac89d3c5dd2f852623e03316e3eb95fa00ab;hpb=4db9379b4b91171df5a277197f5384639d84c3cf;p=TD_SE.git diff --git a/philosophe/philosophe.c b/philosophe/philosophe.c index ebd4ac8..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 -static 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