Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1482 connectés 

  FORUM HardWare.fr
  Programmation
  C

  Pb de FORK sur un programme serveur

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pb de FORK sur un programme serveur

n°712194
TigrouMeow
Vive le Rhum et les Gibsons ;)
Posté le 29-04-2004 à 19:13:47  profilanswer
 

Je fais un programme qui, pour l'instant, fork lorsqu'il y a une connexion réseau qui se fait dessus.
 
J'ai donc plusieurs utilisateurs connectés simultanément sur le serveur, chacun qui a son processus propre, et entre un telnet et le serveur une discussion peut se faire.
 
Maintenant, j'ai besoin d'accéder à des ressources communes entre chaque processus. Par exemple j'aimerais avoir les pseudos de toutes les personnes connectées sur le serveur à partir d'un processus...
 
J'ai un pointeur sur structure déclaré en global, mais il est copié à chaque fork, et evidemment, les modifications que lui apporte un certain processus sont invisible pour un autre processus...
 
Comment faire ?!
 
Je pense pouvoir utiliser les pthreads, mais je crois que j'en ai pas le droit dans ce projet ci :(

mood
Publicité
Posté le 29-04-2004 à 19:13:47  profilanswer
 

n°712196
myst78
Posté le 29-04-2004 à 19:17:05  profilanswer
 

euh à tout hasard, avec les pipes y'a pas moyen d'arriver à qqc ?


---------------
Fleur de métal, entité invulnérable, vêtue tant bien que mal, d'une muraille inébranlable...
n°712205
kfman
Credo quia absurdum
Posté le 29-04-2004 à 19:27:15  profilanswer
 

Mémoire partagée ?


---------------
"Nous allons reformater les français" © Nicolas Sarkozy
n°712214
Taz
bisounours-codeur
Posté le 29-04-2004 à 19:30:56  profilanswer
 

pthread/pth

n°712415
TigrouMeow
Vive le Rhum et les Gibsons ;)
Posté le 30-04-2004 à 00:20:29  profilanswer
 

Pipe surement pas...
Mémoire partagée ? De quoi parles tu?
 
Sinon oui les pthread semblent la solution la plus évidente.. mais je crois que je suis OBLIGE de forker...

n°712439
djdie
L'heure, c'est l'heure.
Posté le 30-04-2004 à 01:32:12  profilanswer
 

mémoire partagée: regarde du côté de shmget & compagnie

n°714299
Predicator
Posté le 03-05-2004 à 15:05:42  profilanswer
 

[:blueflag]  
 
j'ai quasiment le même problème... mon serveur fork quand y'a une connexion, et le fils ouvre une socket avec le client... seulement voilà, quand le fils plante, plus moyen de fermer la socket, et au bout d'un certain nombre de plantage de processus fils, le serveur devient amorphe :cry:

n°714863
matafan
Posté le 04-05-2004 à 05:11:15  profilanswer
 

Comme dit plus haut : mémoire partagée. En gros tu crée une zone avec shmget un peu comme avec avec malloc, sauf que la zone est accessible au process père et au process fils. Puis tu t'y attaches avec shmat.
 
Par contre après, attention aux accès concurents. Utilises des sémaphores pour gérer les accès...

n°715367
MrNavarro
Posté le 04-05-2004 à 16:15:00  profilanswer
 

J'aurai dit aussi memoire partagee, masi c'est une grosse merde a mettre en place pour des tests qui risquent de ne pas etre satisfaisant. A ta place je passerai au thread, et au pile systeme. C'est encore le mieux


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  Pb de FORK sur un programme serveur

 

Sujets relatifs
[C] implementation shell unix (fork, pipe)Aide pour un petit programme très simple !
passage de parametres d'un programme à un autrePetit programme sous Maple
Envoi de mailing et charge du serveurServeur PHP/MySQL versus IIS
cherche programme etude de fonction pour ti 83+[PHP] Lancer l'execution d'un programme sur le serveur via PHP
Connexions directes a un serveur MySQL 
Plus de sujets relatifs à : Pb de FORK sur un programme serveur


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR