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 :

Soucis avec les signaux


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4
    Par défaut Soucis avec les signaux
    'jour tout le monde.
    J'ai un petit problème, mon handler est pas appelé quand le processus reçoit un SIGTERM :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    void s_hand_term(int signum) {
    	printf("Arret du Guichet");
    	exit(0);
    }
     
     
    int main(int nbarg, char *tbarg[]) {
     
         struct sigaction s_sig_term;
     
         s_sig_term.sa_handler = s_hand_term;
         s_sig_term.sa_flags = 0;
         sigemptyset(&(s_sig_term.sa_mask));
     
         sigaction(SIGTERM, &s_sig_term, NULL);
     
    }
    Et donc quand le processus père envoie un SIGTERM avec un kill(idproc, SIGTERM) le fils se termine mais sans l'affichage de "Arret du guichet".
    J'en ai déduit que le SIGTERM est bien reçu, mais pas 'handlé'...

    Vos avis ?

  2. #2
    Membre émérite Avatar de crocodilex
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    697
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 697
    Par défaut
    Et avec un '\n' à la fin de ton printf, ca donne quoi ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4
    Par défaut
    Bah euh pareil...

  4. #4
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Bonjour,

    Citation Envoyé par meuble2001
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
         struct sigaction s_sig_term;
     
         s_sig_term.sa_handler = s_hand_term;
         s_sig_term.sa_flags = 0;
         sigemptyset(&(s_sig_term.sa_mask));
    Une partie de la structure n'est pas initialisée :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    struct sigaction s_sig_term = { 0 };

  5. #5
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Il faut également toujours tester le retour de sigaction.

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if(sigaction(SIGSEGV, &actionIn, &actionOut))
    {
     perror("sigaction");
     exit(EXIT_FAILURE);
    }

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 4
    Par défaut
    Le problème ne venait pas de là, mais merci quand même !
    En fait, le programme qui reçoit le signal était terminé avant l'envoi du signal... Donc forcément, il ne le recevait pas...

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

Discussions similaires

  1. [Dates] souci avec les dates
    Par Ludo75 dans le forum Langage
    Réponses: 3
    Dernier message: 22/02/2006, 17h15
  2. Soucis avec les JTables et les listener
    Par shingo dans le forum Composants
    Réponses: 2
    Dernier message: 22/02/2006, 11h51
  3. Soucis avec les Graphiques dans les états
    Par Chococrocq dans le forum IHM
    Réponses: 27
    Dernier message: 04/01/2006, 19h03
  4. petit soucis avec les listes
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/09/2005, 10h08
  5. Réponses: 7
    Dernier message: 05/10/2004, 13h44

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