Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int tipo_cliente = *((int *)tipo);
- int coda_clienti = 0;
- printf("%d",tipo_cliente);
- pthread_mutex_lock(&lock); //blocco il check del semaforo da parte di altri processi
- sem_getvalue(&kart, &coda_clienti);
- if(coda_clienti < -20)
- {
- printf("Piu' di 20 clienti in coda, abbandono pista.\n");
- pthread_exit(NULL);
- }
- pthread_mutex_unlock(&lock);//sblocco
- sem_wait(&kart);
- if(tipo_cliente == 0)
- sem_wait(&istruttore);
- printf("entrato in pista\n");
- sleep(rand()%10); //aspetta per un numero rand di secondi MAX 10s
- if(tipo_cliente == 1)
- sem_post(&istruttore);
- sem_post(&kart);
- printf("uscito dalla pista\n");
- pthread_exit(NULL);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement