IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

C Discussion :

lancer une fonction sur un thread en écoute


Sujet :

C

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2010
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 23
    Points : 21
    Points
    21
    Par défaut lancer une fonction sur un thread en écoute
    Salut !

    j'ai projet en c, qui contient plusieurs modules, dont un module de journalisation
    (logging.h et logging.c),
    le problème c'est que je veux exécuter les appels des fonctions de trace sur un autre thread qui est créé dés le main et reste en écoute pour qu'il gère tous les appels de trace lancer par les différents modules du projet.

    aussi je veux que le descripteur du fichier .log soit ouvert une seul fois [ fich = fopen ("trace.log", "a"); ] dés le lancement du programme, et fermé à la fin de l'execution du programme principale aussi [ fclose(f); ], et non pas à chaque appel de la fonction de trace !

    Aidez moi !

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    - Pour l'open et le close tu peux simplement les faire avant et après le thread. Si tu tiens absolument à les faire dans le thread, tu peux envoyer un signal à ton thread de log à la fin du programme et faire en sorte qu'à la reception de ce signal le thread ferme le fd. Mais c'est moyennement pratique
    - Pour la communication avec les autres threads, plusieures solutions :
    - ne pas faire de thread, les autres modules appelleront directement les fonctions de log
    - communiquer via des pipes nommés mais c'est lourd
    - créer une liste chaînée avec un mutex avant la création des threads pour que tous la partagent. Dès qu'un module voudra logger une action, il ajoutera un maillon qui sera lu ensuite par le thread de log
    - il doit y en avoir d'autres que je ne connais probablement pas...

Discussions similaires

  1. Onclick sur image pour lancer une fonction
    Par kilrou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 07/04/2010, 02h34
  2. Réponses: 8
    Dernier message: 22/09/2009, 21h00
  3. Réponses: 1
    Dernier message: 27/04/2009, 11h32
  4. Comment lancer une fonction présente sur une autre page ?
    Par mappy dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 13/12/2006, 14h44
  5. lancer une fonction sur un lien
    Par PAYASS59 dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2006, 12h46

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