Précédent   Forum du club des développeurs et IT Pro > Général Développement > Programmation système > Linux
Linux Forum d'entraide sur la programmation Linux : shell, système, ...
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 30/06/2012, 01h50   #1
gheaeckkseqrz
Futur Membre du Club
 
Homme Pierre
Étudiant
Inscription : juillet 2008
Messages : 22
Détails du profil
Informations personnelles :
Nom : Homme Pierre
Âge : 21
Localisation : France

Informations professionnelles :
Activité : Étudiant

Informations forums :
Inscription : juillet 2008
Messages : 22
Points : 16
Points : 16
Par défaut Socket + Thread + Fork.

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.
gheaeckkseqrz est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 05h43.


 
 
 
 
Partenaires

Hébergement Web