X-Git-Url: https://git.piment-noir.org/?p=TD_SE.git;a=blobdiff_plain;f=lecteursredacteurs%2Flecteursredacteurs.c;h=e13f115f023cb1eea67e82bb6d71997941c7fbb5;hp=a15e271ddea8a41aa4618f289b18d2c6e5b2a6bb;hb=ddfab1b0dd87b58d4c53d50e2de99a7973e3cd5b;hpb=6c34e834ca20bff21a4ee228deb8a8ad30544241 diff --git a/lecteursredacteurs/lecteursredacteurs.c b/lecteursredacteurs/lecteursredacteurs.c index a15e271..e13f115 100644 --- a/lecteursredacteurs/lecteursredacteurs.c +++ b/lecteursredacteurs/lecteursredacteurs.c @@ -1,4 +1,6 @@ #include +#include +#include #include #include @@ -25,7 +27,7 @@ static void *lecteur(void *arg) sem_post(&redact); sem_post(&mutex); } - return NULL; + return NULL; } static void *redacteur(void *arg) @@ -35,13 +37,21 @@ static void *redacteur(void *arg) // modifier les données de la base db++; printf("redacteur bd=%d\n", db); - sleep(2); + sleep(1); sem_post(&redact); } - return NULL; + return NULL; } int main() { - + pthread_t t1, t2; + sem_init(&mutex, 0, 1); + sem_init(&redact, 0, 1); + pthread_create(&t1, NULL, redacteur, NULL); + pthread_create(&t2, NULL, lecteur, NULL); + pthread_join(t1, NULL); + pthread_join(t2, NULL); + printf("exit\n"); + return EXIT_SUCCESS; }