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 :

signal() : passer un parametre a la fonction appellée


Sujet :

C

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    59
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 59
    Par défaut signal() : passer un parametre a la fonction appellée
    Bonjour,
    dans mon programme, j'aimerais "catcher" le signal SIGINT.
    Pour tester, j'ai fait ce petit bout de code :
    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
    18
    19
    20
     
    #include <stdio.h>
    #include <signal.h>
     
    bool toto=false; 
     
    void fonction(int n)
    {
        toto=true;
        printf("Signal recu\n");
    }
     
    int main()
    {
        signal(SIGINT,fonction);
        while(!toto) {
    		usleep(1);
    	}
        return(0);
    }
    Ma question est :
    Comment puis je envoyer un int en parametre à la fonction "fonction" ?

    Merci d'avance.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Février 2007
    Messages
    572
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Février 2007
    Messages : 572
    Par défaut
    Ce que tu recoies en parametre, c'est le signal.

  3. #3
    Membre émérite Avatar de |PaRa-BoL
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    738
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 738
    Par défaut
    Les signaux sont la forme la plus simple de communication entre processus. Cependant, ils ne permettent pas d'échanger des données.

    En revanche, de par leur traitement asynchrone, ils peuvent être très utiles pour informer les processus de conditions exceptionnelles (relecture de fichier de configuration après modification manuelle, par exemple) ou pour synchroniser des processus

  4. #4
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par eponyme
    dans mon programme, j'aimerais "catcher" le signal SIGINT.
    <...>Comment puis je envoyer un int en parametre à la fonction "fonction" ?
    C'est pas possible. Pour communiquer, il faut utiliser une globale de type sig_atomic_t.

  5. #5
    Membre chevronné Avatar de nemo69500
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 639
    Par défaut
    juste une remarque , le style booleen n existe pas en c , c'est du c++

  6. #6
    gl
    gl est déconnecté
    Rédacteur

    Homme Profil pro
    Inscrit en
    Juin 2002
    Messages
    2 165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 165
    Par défaut
    Citation Envoyé par nemo69500
    juste une remarque , le style booleen n existe pas en c , c'est du c++
    Si le style booleen existe en C. C99 defini bool, true et false

  7. #7
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 395
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 395
    Par défaut
    bool ou _Bool, finalement ? Je n'ai jamais très bien compris à ce niveau-là...

    De plus, bool n'existe pas dans ce code C, puisque <stdbool.h> n'est pas inclus.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  8. #8
    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 : 42
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Par défaut
    Citation Envoyé par Médinoc
    bool ou _Bool, finalement ? Je n'ai jamais très bien compris à ce niveau-là...
    Les deux : http://nicolasj.developpez.com/articles/c99/#LV-E

  9. #9
    Expert éminent
    Avatar de Emmanuel Delahaye
    Profil pro
    Retraité
    Inscrit en
    Décembre 2003
    Messages
    14 512
    Détails du profil
    Informations personnelles :
    Âge : 68
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2003
    Messages : 14 512
    Par défaut
    Citation Envoyé par Médinoc
    bool ou _Bool, finalement ? Je n'ai jamais très bien compris à ce niveau-là...

    De plus, bool n'existe pas dans ce code C, puisque <stdbool.h> n'est pas inclus.
    _Bool est le mot clé' interne' qui sert à construire bool ou à redéfinir l'existant (BOOL, boolean etc.).

    Dans les nouveaux développements, il faut utiliser <stdbool.h> et bool.

  10. #10
    Membre chevronné Avatar de nemo69500
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    639
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 639
    Par défaut
    merci pour ces precisions

Discussions similaires

  1. Passer un argument dans une fonction appelée depuis un onChange
    Par francky74 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 05/03/2015, 09h28
  2. [CakePHP] passer un parametre dans la fonction appelée par le formulaire
    Par ifr38 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 20/10/2014, 14h38
  3. Réponses: 2
    Dernier message: 04/08/2013, 13h59
  4. Réponses: 2
    Dernier message: 06/11/2011, 11h30
  5. Passer un parametre HTML à une fonction javascript
    Par justinus_9 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 01/04/2008, 02h46

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