PDA

View Full Version : [c] gestire read quando nn ci sono dati in scrittura


agosteeno
15-01-2011, 12:34
Salve a tutti, sto' scrivendo una libreria per un progetto, che serve a gestire la connessione e l'invio/ricezione di messaggi usando socket di sistema (AF_UNIX per intenderci).
Quando effettuo una read() per implementare la receive, se non c'e' nessuno che in quel momento ha scritto/sta' scrivendo, questa mi ritorna errno con codice 104 (connection reset by peer). La situazione si risolve eseguendo la read fino a che non ci sono nuovi dati. Il fatto e' che nn so' come regolarmi per fare questa operazione: infatti la prima (stupida) cosa che mi viene in mente e' fare una sleep e poi rieseguire la read, ma non e' per nulla efficiente (senza contare il fatto che e' vietato dalle specifiche del progetto). Avete qualche consiglio da darmi? Vi ringrazio in anticipo. Ciao!!!

agosteeno
15-01-2011, 14:10
Ho detto una minchiata, semplicemente il client chiudeva la socket... Scusate il disturbo