Properly init the semaphore in the readers/writers code.
[TD_SE.git] / lecteursredacteurs / lecteursredacteurs.c
index 329be03a639f3ba515f717b63fac552a5c96703e..e13f115f023cb1eea67e82bb6d71997941c7fbb5 100644 (file)
@@ -27,7 +27,7 @@ static void *lecteur(void *arg)
                        sem_post(&redact);
                sem_post(&mutex);
        }
-    return NULL;
+       return NULL;
 }
 
 static void *redacteur(void *arg)
@@ -37,17 +37,17 @@ 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, 0);
-       sem_init(&redact, 0, 0);
+       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);