Ok, lo ammetto, sono veramente troppo scarso con i segnali
è un po' che cerco di capire come gestire questo errore... e nonostante il documento che mi hai passato, seppur molto istruttivo, non ci riesco. Ho troppa confusione in testa.
Quindi aiutami a capire, ti prego!
La mia situazione è questa: io ho un server e molti client; il server ha creato una socket sk su cui tutti i client comunicano verso il server; ogni client crea una socket privata sk_idclient su cui il server comunica le risposte.
Per gestire i messaggi che si scambiano client e server, uso una libreria da me creata:
- sendMessage --> usa la write; - receiveMessage --> usa la read.
Quindi da quello che ho capito fin ora.
Al processo server gli faccio ignorare tutti i segnali SIGPIPE. In questo modo non termina in caso un client ha chiuso erroneamente una connessione.
Al processo client gestisco l'errore di SIGPIPE in un modo tale da permettergli di chiudere la connessione sul server, ma non terminare. In modo che potrà comunque continuare a leggere dalla socket da lui creata.
Sinceramente non so manco io che aiuto sto cercando.
Ma ho una tale confusione, cioè mi metto davanti al mio file e non so cosa fare.
Spero solo che qualche risposta mi possa sbloccare.
Grazie