//teste produtor(aprod); break; case 'c': printf("\nTentando consumir...\n"); consumidor} // AEAEEAEAE /* envia e lista os dados da fila inicializa(&fila); printf("Introduza uma sequencia de caracteres:\n"); while(!leDados(&x)){ adiciona(&fila,x); } printf("Sequencia lida:\n"); while(!filaVazia(&fila)){ retira(&fila,&x); escreveDados(x); } printf("\n"); exit(0); } */ void produtor(int p) { down(vazio); down(mutex); insere_item(p); up(mutex); up(cheio); } void consumidor(void) { down(cheio); down(mutex); remove_item(); up(mutex); up(vazio); } void down(int s) { if(s > 0) { s=s-1; } else{ //sleep(); printf("dorme"); } } void up(int s) { s=s+1; if(s >=1) { //wakeup(); } } void insere_item(int p) { } void remove_item(void) { }