Moins de bugs
parent
340b9beab2
commit
13119a2d53
|
@ -3,24 +3,21 @@ CONS = consommateur
|
||||||
PROD = producteur
|
PROD = producteur
|
||||||
CFLAGS = -Wall -g
|
CFLAGS = -Wall -g
|
||||||
COMMUN = sema.o global.o
|
COMMUN = sema.o global.o
|
||||||
CONSOM = consommateur.o
|
all: $(COMMUN) consommateur.o producteur.o
|
||||||
PRODUCT = producteur.o
|
$(CC) consommateur.o -o $(CONS) sema.o
|
||||||
all: $(COMMUN) $(CONSOM) $(PRODUCT)
|
$(CC) producteur.o -o $(PROD) sema.o
|
||||||
$(CC) $(CONSOM) -o $(CONS)
|
|
||||||
$(CC) $(PRODUCT) -o $(PROD)
|
|
||||||
|
|
||||||
consommateur.o : consommateur.c consommateur.h constantes.h types.h
|
sema.o : sema.c sema.h
|
||||||
$(CC) -o $@ -c $< $(CFLAGS)
|
|
||||||
|
|
||||||
producteur.o : producteur.c producteur.h constantes.h types.h
|
|
||||||
$(CC) -o $@ -c $< $(CFLAGS)
|
|
||||||
|
|
||||||
sema.o : sema.h sema.c
|
|
||||||
$(CC) -o $@ -c $< $(CFLAGS)
|
$(CC) -o $@ -c $< $(CFLAGS)
|
||||||
|
|
||||||
global.o : global.c
|
global.o : global.c
|
||||||
$(CC) -o $@ -c $< $(CFLAGS)
|
$(CC) -o $@ -c $< $(CFLAGS)
|
||||||
|
|
||||||
|
consommateur.o : consommateur.c consommateur.h constantes.h types.h sema.h
|
||||||
|
$(CC) -o $@ -c $< $(CFLAGS)
|
||||||
|
|
||||||
|
producteur.o : producteur.c producteur.h constantes.h types.h sema.h
|
||||||
|
$(CC) -o $@ -c $< $(CFLAGS)
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
@rm -rf *.o *.out
|
@rm -rf *.o *.out
|
||||||
|
|
|
@ -1,15 +1,38 @@
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include "constantes.h"
|
#include <sys/types.h>
|
||||||
|
#include <sys/ipc.h>
|
||||||
|
#include <assert.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <fcntl.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <errno.h>
|
||||||
|
#include <sys/sem.h>
|
||||||
|
#include "consommateur.h"
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
#include "sema.h"
|
||||||
|
#include "constantes.h"
|
||||||
|
|
||||||
int main( int argc, char **argv)
|
int main( int argc, char **argv)
|
||||||
{
|
{
|
||||||
|
|
||||||
if(argc < 2) { printf("Usage : %s numIPC\n"); exit(EXIT_FAILURE); }
|
if(argc < 2) { printf("Usage : %s numIPC\n", argv[0]); exit(EXIT_FAILURE); }
|
||||||
|
|
||||||
int clef = atoi(argv[1]);
|
key_t clef = (key_t) atoi(argv[1]);
|
||||||
|
|
||||||
|
MEMP memoireP;
|
||||||
|
memoireP.tete = 0;
|
||||||
|
memoireP.queue = 0;
|
||||||
|
|
||||||
|
int semid;
|
||||||
|
semid = creat_sem( clef, MAX_PROD);
|
||||||
|
if(semid >= 0)
|
||||||
|
{
|
||||||
|
|
||||||
|
sleep(10);
|
||||||
|
del_sem(clef);
|
||||||
|
}
|
||||||
|
|
||||||
exit(EXIT_SUCCESS);
|
exit(EXIT_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1 +1,2 @@
|
||||||
|
#include "sema.h"
|
||||||
int main(int,char **);
|
int main(int,char **);
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/ipc.h>
|
#include <sys/ipc.h>
|
||||||
#include <sys/sem.h>
|
#include <sys/sem.h>
|
||||||
|
#include "sema.h"
|
||||||
|
|
||||||
int creat_sem(key_t cle,int val)
|
int creat_sem(key_t cle,int val)
|
||||||
{
|
{
|
||||||
int semid;
|
int semid;
|
||||||
|
|
|
@ -1,13 +1,3 @@
|
||||||
#include <stdlib.h>
|
|
||||||
#include <assert.h>
|
|
||||||
#include <unistd.h>
|
|
||||||
#include <fcntl.h>
|
|
||||||
#include <stdio.h>
|
|
||||||
#include <stdarg.h>
|
|
||||||
#include <errno.h>
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <sys/ipc.h>
|
|
||||||
#include <sys/sem.h>
|
|
||||||
|
|
||||||
void erreur(char *s);
|
void erreur(char *s);
|
||||||
int open_sem(key_t cle);
|
int open_sem(key_t cle);
|
||||||
|
@ -16,7 +6,7 @@ void V(int semid);
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
int creat_sem(key_t cle, ushort val);
|
int creat_sem(key_t cle, int val);
|
||||||
/* creation du semaphore cle ayant comme valeur initiale val
|
/* creation du semaphore cle ayant comme valeur initiale val
|
||||||
retourne un identificateur de semaphore >=0 ou -1 si erreur
|
retourne un identificateur de semaphore >=0 ou -1 si erreur
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue