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

Linux Discussion :

Prog Systeme recv() et signaux


Sujet :

Linux

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 21
    Points : 13
    Points
    13
    Par défaut Prog Systeme recv() et signaux
    Bonjour,
    Je code un programme dans lequel a un moment j'utilise un recv de cet facon :

    message mes;
    if( recv(desc, &mes, sizeof(mes), 0) == -1){
    fprintf(stdout, "Erreur recv()!\n");
    perror("recv ");
    exit(EXIT_FAILURE);
    }

    Or j'utilise le signal SIGUSR2 pour demander quelque chose a mon processus, le meme qui est en attente de recevoir avec recv() .
    Voila mon signal :

    struct sigaction action2 = {
    .sa_handler = gestion_signal_SIGUSR2,
    .sa_flags = 0
    };
    sigfillset(&(action2.sa_mask));
    if(sigaction(SIGUSR2, &action2, NULL) == -1) {
    fprintf(stderr, "Erreur sigaction() !\n");
    perror("sigaction ");
    exit(EXIT_FAILURE);
    }

    Voila. Et donc mon probleme c'est que a un moment je fais un kill(pid, SIGUSR2) qui envoi un signal SIGUSR2 a mon pid, et donc provoque une erreur de la fonction recv() en cours :
    Erreur recv() !
    recv : Interrupted system call

    Comment faire pour que mon processus, qui est en attente sur le recv(), recoive le signal SIGUSR2, fasse ce que jlui demande avec ce signal (ça c'est bon), mais revienne aprés sur le recv() sans faire d'erreur ??

    J'espere avoir été le plus claire possible
    Merci si vous pouvez m'aider
    Cdt
    Tom

  2. #2
    Membre émérite Avatar de nicolas.sitbon
    Profil pro
    Inscrit en
    Août 2007
    Messages
    2 015
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 2 015
    Points : 2 280
    Points
    2 280
    Par défaut
    Je t'ai répondu sur le forum C, merci de ne plus cross poster à l'avenir.

Discussions similaires

  1. Prog Systeme recv() et signaux
    Par thotoss dans le forum Réseau
    Réponses: 2
    Dernier message: 24/04/2009, 00h51
  2. Prog Systeme recv() et signaux
    Par thotoss dans le forum Développement
    Réponses: 0
    Dernier message: 23/04/2009, 18h59
  3. Prog systeme
    Par Premium dans le forum Autres éditeurs
    Réponses: 8
    Dernier message: 02/02/2006, 20h58
  4. Prog system et UNIX .
    Par Clad3 dans le forum Linux
    Réponses: 9
    Dernier message: 30/11/2005, 18h22
  5. [Système] Ouvrir fichier externe avec prog par défaut de l'OS
    Par Pill_S dans le forum API standards et tierces
    Réponses: 9
    Dernier message: 30/05/2004, 12h54

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