langage_C/System2/RW_problem/semaphore-moniteur.h

34 lines
621 B
C

/*
* Implementation de semaphore de comptage par moniteur
* bibliothèque pthread
* Moniteur = semaphores binaires(mutex) + conditions
*
*/
#ifndef _SEM_
#define _SEM_
#include <pthread.h>
/* Notions Globales */
typedef struct {
pthread_mutex_t mutex;
pthread_cond_t attenteFifo;
int nbAttente;
int value;
} type_semaphore;
void init_semaphore(type_semaphore * sem,int val);
void P_semaphore(type_semaphore * sem);
void V_semaphore(type_semaphore * sem);
void destroy_semaphore(type_semaphore * sem);
int value_semaphore(type_semaphore * sem);
int estVideFifo_semaphore(type_semaphore * sem);
#endif