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 :

Champ revents de pollfd bloqué à 32 en IPC.


Sujet :

C

  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Vosges (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2012
    Messages : 1
    Par défaut Champ revents de pollfd bloqué à 32 en IPC.
    Langage : C.

    Plate-forme : linux version 2.6.18-92.el5 (brewbuilder@ls20-bc2-13.build.redhat.com) (gcc version 4.1.2 20071124 (Red Hat 4.1.2-41)) #1 SMP Tue Apr 29 13:16:15 EDT 2008

    Compilateur : gcc (GCC) 4.1.2 20071124 (Red Hat 4.1.2-42)


    Je suis actuellement en train de debbuger un programme en C qui utilise de l'IPC.

    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
    // Librairies utilisées
    #include <sys/poll.h>
    #include <stdio.h>
    #include <fcntl.h>
    #include <sys/ipc.h>
     
    // Programme testé 
         long lFdFichier = open("/USR/tassdt/tmp/FATI999", O_CREAT, DROIT_LIRE_ECRIRE);
         long fatTest= msgget ((ftok("/USR/tassdt/tmp/FATI999", 'a')), IPC_CREAT | DROIT_LIRE_ECRIRE );
     
         struct pollfd		DescripteurEvtFat;
         long lCrPollFat;
         DescripteurEvtFat.fd = fatTest;
         DescripteurEvtFat.events = POLLIN | POLLERR; // JBG : POLLIN    0x0001  + POLLERR   0x0008 font bien 9. /!\revents are bitmasks constructed by OR'ing a combination of the following event flags.
         DescripteurEvtFat.revents = 0;
     
         lCrPollFat = poll (&DescripteurEvtFat, 1, 10 );	// Traitement du file descripteur.
     
         fTracer ( NV_DEBUG, "JBG", ( pFicTrc, "Reception d'un message FAT lCrPollFat=%ld fd=%ld events=%d revents=%d strerrno=%s",lCrPollFat, DescripteurEvtFat.fd, DescripteurEvtFat.events, DescripteurEvtFat.revents, strerror(errno)));
    Résultat dans le fichier de logs :
    -------------------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    210312 11:35:29.141 JBG Reception d'un message FAT lCrPollFat=1 fd=560431106 events=9 revents=32 strerrno=Success
    Problème :
    ------------
    Le problème est que le champ "revents" de la structure "pollfd" est à 32 dès le départ malgré que je le force à 0, comme si il était bloqué.

    Avez-vous une idée de l'origine du problème, car nous sommes presque sûrs de l'écriture de ce code ?

    Jean-Baptiste.

  2. #2
    Modérateur
    Avatar de Obsidian
    Homme Profil pro
    Chercheur d'emploi
    Inscrit en
    Septembre 2007
    Messages
    7 495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Chercheur d'emploi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7 495
    Par défaut
    Bonjour,

    Il n'est pas à 32 « dès le départ » puisque tu fais ton printf avoir avoir appelé poll. « revents » est un champ de retour : c'est dans ce champ que le noyau va déposer la liste des événements attendus qui se sont effectivement produits.

Discussions similaires

  1. [AC-2013] Pb avec les champs Mémo Access 2013 'bloque à 256
    Par nash17 dans le forum Modélisation
    Réponses: 3
    Dernier message: 17/10/2014, 16h04
  2. bloque un champ sur groupe utilisateur
    Par popofpopof dans le forum Sécurité
    Réponses: 5
    Dernier message: 18/04/2008, 18h45
  3. Réponses: 1
    Dernier message: 24/08/2007, 11h01
  4. bloqué/debloqué les champs avec un radio boutton
    Par flOZ dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/05/2006, 08h30
  5. [FORM] Champ texte bloqué
    Par angelinemm dans le forum Access
    Réponses: 3
    Dernier message: 12/09/2005, 11h58

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