ho il seguete semaforo dichiarato globale
sem_t generale;
inizializzato con:
sem_init(&generale,0,0);
e il seguente codice:
e fatto partire da :codice:while(1){ sem_wait(&generale); sprintf(str,"Prova"); write(1,str,strlen(str)); sem_post(&generale); }
sem_post(&generale);
il fatto è che se il codice lo tolgo dal while funziona, mentre nel while in questo modo va in loop.
sapete aiutarmi?