void consommateur (void * args) { int i = 100; while (1) { sem_down(&plein); /* dec. nb emplacements occupes */ sem_down(&mutex); /* entree section critique */ // retirer_objet (); /* retire un objet du tampon */ utiliser_objet(); /* utiliser l'objet */ sem_up(&mutex); /* sortie de la section critique */ sem_up(&vide); /* inc. nb emplacements libres */ } }
void consommateur (void* arg) { if(arg){ fprintf(stderr, "ERROR: fonction consommateur sans arguments"); return; } objet_t objet ; while (1) { sem_down(&plein); /* dec. nb emplacements occupes */ sem_down(&mutex); /* entree section critique */ retirer_objet (&objet); /* retire un objet du tampon */ sem_up(&mutex); /* sortie de la section critique */ sem_up(&vide); /* inc. nb emplacements libres */ utiliser_objet(objet); /* utiliser l'objet */ } }