serveur multithread et variable globales [prog réseaux] - C - Programmation
Marsh Posté le 09-03-2011 à 09:27:22
Un simple semaphore devrait suffire non
1- main() lance ton thread et attend (genre sem_wait)
2- thread_user récupère les infos, les copie et ensuite fait un sem_post.
Marsh Posté le 24-02-2011 à 11:58:30
Salut à tous,
Bonjour,
j'ai creer un serveur multithread en ecoute infini.A chaque nouvelle connextion il lance un nouveau thread dédié à un utilisateur :thread_user.
Voila la variable globale qui me pose probleme.
Donc en fait quand un utilisateur se connecte .Le serveur récupere son adresse ip et le port .Elle inscrit ces information avec la nouvelle socket creer dans la variable globale info.
Elle envoie le tout au thread nouvellement creer et se met immédiatement en reécoute d'une nouvelle connextion.Le thread récupere en local le contenu de la variable globale.
Le probleme est que si au meme moment un nouveau client se connecte pendant qu'un thread recupere en local les info de la variables,il risque d'y avoir des soucis pour le thread.
Donc comment protéger avec les mutex une variable globales?
Merci
Message édité par chetsam le 24-02-2011 à 12:01:19