Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    août 2013
    Messages
    232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : août 2013
    Messages : 232
    Points : 53
    Points
    53

    Par défaut conflit entre 2 processus

    Bonjour à tous,

    j'ai deux processus qui écrivent dans le meme fichier ce qui pose des problemes. La seul idée que j'ai pour résoudre le probleme est de créer un troisieme processus qui s'occupe de gérer les messages dans le fichier. N' y a t'il pas un moyen d'utiliser une sorte de mutex mais pour les processus ?

    merci d'avance pour votre aide

  2. #2
    Membre régulier Avatar de ekieki
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    avril 2014
    Messages
    34
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : avril 2014
    Messages : 34
    Points : 103
    Points
    103

    Par défaut

    Bien sur que oui. Voir là dedans : http://www.labri.fr/perso/billaud/tr...AU/polycop.pdf

    On peut faire du verrouillage de fichier (2.4) avec int flock(int fd, int operation), ou int lockf(int fd, int cmd, off_t len) (POSIX).

    Il y a aussi les sémaphores (6.4) IPC.

  3. #3
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    février 2006
    Messages
    6 999
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : février 2006
    Messages : 6 999
    Points : 19 872
    Points
    19 872
    Billets dans le blog
    1

    Par défaut

    Bonjour

    Le souci avec lock(), c'est que ça s'applique sur des fichiers ouverts par open() et non ceux ouverts par fopen() (au cas où).

    Solution: utiliser fileno() qui convertit un FILE* vers un int ; ou bien évidemment les sémaphores comme mentionné.
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Possibles conflits entre GL, GLAUX et GLUT
    Par barthelv dans le forum GLUT
    Réponses: 1
    Dernier message: 19/11/2004, 12h31
  2. Conflit entre bases de données
    Par BRODU dans le forum Bases de données
    Réponses: 4
    Dernier message: 18/10/2004, 11h40
  3. conflit entre couleurs
    Par khayyam90 dans le forum OpenGL
    Réponses: 2
    Dernier message: 03/07/2004, 18h00
  4. Partage de blocs mémoire entre 2 processus
    Par rolkA dans le forum Windows
    Réponses: 6
    Dernier message: 18/11/2003, 19h08
  5. [Technique] Conflits entre plusieurs requêtes
    Par Neowile dans le forum Décisions SGBD
    Réponses: 3
    Dernier message: 24/03/2003, 09h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo