diff --git a/C_Language/TP_SYS/tp_sema/consommateur.c b/C_Language/TP_SYS/tp_sema/consommateur.c index cfeea92..b57ad31 100644 --- a/C_Language/TP_SYS/tp_sema/consommateur.c +++ b/C_Language/TP_SYS/tp_sema/consommateur.c @@ -30,10 +30,9 @@ int main( int argc, char **argv) if(argc < 2) { printf("Usage : %s nSHM \n", argv[0]); exit(EXIT_FAILURE); } int shmid, shm_key, i = 0; - int mutex_data, mutex_tpa, mutex_glob; + int mutex_data, mutex_tpa; key_t sem_key_data = MUTEX_DATA; key_t sem_key_tpa = MUTEX_TPA; - key_t sem_key_glob = MUTEX_GLOB; shm_key = (key_t) atoi(argv[1]); MEMP * memoireP; @@ -63,9 +62,6 @@ int main( int argc, char **argv) if((mutex_tpa = creat_sem( sem_key_tpa, 1)) == -1) { perror("creat_sem"); exit(EXIT_FAILURE); } - if((mutex_glob = creat_sem( sem_key_glob, 1)) == -1) - { perror("creat_sem"); exit(EXIT_FAILURE); } - temp.tete = 0; temp.queue = 0; @@ -130,7 +126,6 @@ int main( int argc, char **argv) if(mutex_data >= 0) { del_sem(sem_key_data); } if(mutex_tpa >= 0) { del_sem(sem_key_tpa); } - if(mutex_glob >= 0) { del_sem(sem_key_glob); } endwin() ; exit(EXIT_SUCCESS); diff --git a/C_Language/TP_SYS/tp_sema/constantes.h b/C_Language/TP_SYS/tp_sema/constantes.h index 57d7831..de8d533 100644 --- a/C_Language/TP_SYS/tp_sema/constantes.h +++ b/C_Language/TP_SYS/tp_sema/constantes.h @@ -2,6 +2,5 @@ #define NVIDE 2 #define MUTEX_TPA 3 // Pour le tableau de producteurs #define MUTEX_DATA 4 // Pour les données -#define MUTEX_GLOB 10 // Pour pouvoir entrer dans la liste des producteurs actifs #define MAX_PROD 5 // Maximum de producteurs #define MAX_BUF 100 // Taille maximale du buffer diff --git a/C_Language/TP_SYS/tp_sema/producteur.c b/C_Language/TP_SYS/tp_sema/producteur.c index 2e42481..a217555 100644 --- a/C_Language/TP_SYS/tp_sema/producteur.c +++ b/C_Language/TP_SYS/tp_sema/producteur.c @@ -18,7 +18,7 @@ int main( int argc, char **argv) { if(argc < 2) { printf("Usage %s numIPC\n", argv[0]); exit(EXIT_FAILURE); } MEMP *memoireP; - int mutex_data, mutex_tpa, sem_global, i=0; + int mutex_data, mutex_tpa, i=0; char c; const char CTRL_D = 4 ; int shmid; @@ -32,7 +32,6 @@ int main( int argc, char **argv) cbreak() ; /* lecture non bufferisee */ key_t sem_key_data = MUTEX_DATA; - key_t sem_key_glob = MUTEX_GLOB; key_t sem_key_tpa = MUTEX_TPA; shmid = shmget(shm_key, sizeof(MEMP), 0766 | IPC_CREAT); @@ -42,10 +41,7 @@ int main( int argc, char **argv) if((memoireP = (MEMP *) shmat(shmid, 0 , 0766)) ==(void *) -1) { perror("shmat"); exit(EXIT_FAILURE); } if((mutex_data = open_sem( sem_key_data)) == -1) { perror("open_sem"); exit(EXIT_FAILURE); } if((mutex_tpa = open_sem( sem_key_tpa)) == -1) { perror("open_sem"); exit(EXIT_FAILURE); } - if((sem_global = open_sem( sem_key_glob)) == -1) { perror("open_sem"); exit(EXIT_FAILURE); } - // sem_global est un sémaphore à MAX_PROD entrants. - //P(sem_global); P(mutex_tpa); for(i = 0; i < MAX_PROD && memoireP->tpa[i] != -1 ; i++); if(memoireP->tpa[i] != -1) { V(mutex_tpa); exit(EXIT_FAILURE); } @@ -84,9 +80,6 @@ int main( int argc, char **argv) memoireP->tpa[i] = -1; V(mutex_tpa); - // On a fini, on libère l'accès à un autre producteur - //V(sem_global); - endwin(); // On libère la mémoire de façon propre