|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Dec 2007
Messaggi: 284
|
[C] Terminazione pulita di un thread alla ricezione di un segnale
Allora ho un programma con due processi, capto un segnale sigint e setto una variabile globale loop =1.
Ora un thread é fatto così: Codice:
Thread A{
...
malloc varie
...
while(loop ==0)
{
...
malloc
...
fgets(stdin,&s,n); /* Attesa per l'input utente */
...
altre operazioni
...
}
pulizia ambiente
thread_exit();
}
così prima di terminare deve eseguire tutto il ciclo while. Questo comportan che sia obbligato a inserire un input altrimenti il thread e di conseguenza il processo non termina(il processo attende la terminazione del thread con pthread_join() ). Ora io non penso di poter usare pthread_kill() su questo thread perchè devo deallocare tutta la roba allocata ne thread etc.. Come posso fare? |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 15:00.



















