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 :

Tubes et signaux


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 156
    Par défaut Tubes et signaux
    Bonjour,

    Il y a quelquechose que je n'ai pas bien dû comprendre à propos de la gestion des signaux en C. Je dois créer un programme qui créé un processus fils qui génère un nombre compris entre 1 et 9 chaque seconde et les écrit dans un tube pour que le père tienne à jour le total de ces nombres envoyés. Si le total atteint 100, le père envoye un signal au fils pour qu'il se termine (avec kill()). A la réception de ce signal (fonction signal()) le fils s'arrête immédiatement. Cependant si d'autres messages arrivent encore du fils, le père continue à mettre à jour le total...

    Comment se peut-il que d'autres messages arrivent par le tubes si le fils s'arrête immédiatement à lé récéption d'un signal ?!

    Merci !

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 67
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par j0o0
    Bonjour,

    Il y a quelquechose que je n'ai pas bien dû comprendre à propos de la gestion des signaux en C. Je dois créer un programme qui créé un processus fils qui génère un nombre compris entre 1 et 9 chaque seconde et les écrit dans un tube pour que le père tienne à jour le total de ces nombres envoyés. Si le total atteint 100, le père envoye un signal au fils pour qu'il se termine (avec kill()). A la réception de ce signal (fonction signal()) le fils s'arrête immédiatement. Cependant si d'autres messages arrivent encore du fils, le père continue à mettre à jour le total...

    Comment se peut-il que d'autres messages arrivent par le tubes si le fils s'arrête immédiatement à lé récéption d'un signal ?!

    Merci !
    Ils n'arrivent pas, ils y sont....

    Ils ont été écrits AVANT la réception du kill. Mais le père ne les a pas encore lus. Comme tu as envoyé le kill, c'est que tu as atteint 100. Donc tu n'en tiens plus compte.

  3. #3
    Membre éclairé Avatar de LinuxUser
    Inscrit en
    Avril 2007
    Messages
    857
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 857
    Par défaut
    Vu qu'il faut au fils une seconde pour générer un entier et que le pere doit lire le message puis vérifier si le compteur est à 100, dans ce cas là, il envoie un message.

    Je pense qu'il s'écoule bien plus d'une seconde après reception du message...

    Donc ton fils en a généré un autre qui se trouve dans le tube pendant l'envoie du signal...

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2005
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 156
    Par défaut
    Ok les gars c'est bon, merci beaucoup de vos réponses !

Discussions similaires

  1. [Amstrad] Signaux à gérer port E/S pour lire ROM
    Par Masterglob dans le forum Autres architectures
    Réponses: 7
    Dernier message: 12/01/2005, 12h03
  2. [C#] Gérer les signaux genre ctrl+c?
    Par BleudeBromothymol dans le forum Windows Forms
    Réponses: 8
    Dernier message: 17/11/2004, 15h32
  3. Ellipse d'un tube pivotant
    Par clovis dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 18/03/2004, 21h49
  4. Problème avec fgets et tube...
    Par tchingoo dans le forum POSIX
    Réponses: 5
    Dernier message: 22/08/2003, 17h03
  5. Tube a partir de polysegments
    Par seb m. dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 18/12/2002, 17h08

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