Bonjour,

Je rencontre un problème avec un logiciel multithreade qui utilise une socket et qui doit fork().

Le programme ce connecte a un server, puis il lance un thread qui va s'occuper de lire les transmission réseaux.

A ce stade la, tous fonctionne correctement. Après le programme se fork(), et le processus fils execvp(), et a se moment la, la connexion du père est détruite (le select() renvoie le fd comme étant disponible en lecture, et read renvoie 0).

Je suis tombe la dessus :
http://www.linuxprogrammingblog.com/threads-and-fork-think-twice-before-using-them


Je me suis dit que les deux process utilisaient la même socket, J'ai donc ajoute cette ligne, mais sans succes
Code :
  fcntl (_sockfd, F_SETFD, FD_CLOEXEC);
Quelqu'un comprend t'il se qui se passe?

EDIT : Le problème venais totalement d’ailleurs, c’était le serveur qui fermait la connexion.