Fix a no return value warning.
[TD_SE.git] / lecteursredacteurs / lecteursredacteurs.c
CommitLineData
6b2a29ce
JB
1#include <unistd.h>
2#include <stdio.h>
3#include <semaphore.h>
4
5static int db = 42;
6static int NbL = 0;
7sem_t mutex;
8sem_t redact;
9
10static void *lecteur(void *arg)
11{
12 while (1) {
13 sem_wait(&mutex);
14 if (NbL == 0)
15 sem_wait(&redact);
16 NbL++;
17 sem_post(&mutex);
18 // lecture de la base
19 sleep(1);
20 printf("lecteur bd=%d\n", db);
21 // fin de l’accès à la base
22 sem_wait(&mutex);
23 NbL--;
24 if (NbL == 0)
25 sem_post(&redact);
26 sem_post(&mutex);
27 }
6c34e834 28 return NULL;
6b2a29ce
JB
29}
30
31static void *redacteur(void *arg)
32{
33 while (1) {
34 sem_wait(&redact);
35 // modifier les données de la base
36 db++;
37 printf("redacteur bd=%d\n", db);
38 sleep(2);
39 sem_post(&redact);
40 }
6c34e834 41 return NULL;
6b2a29ce
JB
42}
43
44int main()
45{
46
47}