|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Mar 2011
Messaggi: 30
|
[C] Pthread e segnali
Ciao a tutti.
Sto scrivendo un server multithread in cui ogni thread, appunto, gestisce una connessione con un client. Ora vorrei considerare la situazione in cui un client, per qualche motivo, interrompe la connessione. Da quanto ho letto, il segnale SIGPIPE viene consegnato al processo in generale, e non al singolo thread di gestione. Il processo, poi, lo consegna al primo thread che non lo sta bloccando. E' giusto? Ma in tal caso, come posso far terminare solo il thread interessato, e non tutto il server? Avrei anche pensato ad una soluzione (l'ho già scritto altrove sempre qui, ma in relazione ad altro): ignoro esplicitamente il SIGPIPE, controllo il valore di ritorno delle write() e delle read() (sto lavorando su socket TCP), e se è -1 termino semplicemente il thread. Potrebbe andare? |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:34.



















