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 :

utilisation de sigaction pour transmettre des donnees


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 50
    Par défaut utilisation de sigaction pour transmettre des donnees
    Bonjour,
    J'ai besoin d'un peu d'aide a propos de sigaction

    J'ai un programme qui ouvre des fichiers dans un fork. Je voudrais intercepter le signal de la mort du fils (SIGCHLD) afin de faire un exit() mais au prealable, closer les fd, free quelques variables etc.

    J'ai cru comprendre qu'il fallais passer un pointeur de fonction a sa_sigaction, mais je suis perdu pour l'utiliser, et pour transmettre un pointeur sur une structure par exemple

    Merci d'avance !

  2. #2
    Membre éclairé Avatar de je®ome
    Inscrit en
    Octobre 2005
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 285
    Par défaut
    Citation Envoyé par Toutankharton Voir le message
    Bonjour,
    J'ai besoin d'un peu d'aide a propos de sigaction

    J'ai un programme qui ouvre des fichiers dans un fork. Je voudrais intercepter le signal de la mort du fils (SIGCHLD) afin de faire un exit() mais au prealable, closer les fd, free quelques variables etc.

    J'ai cru comprendre qu'il fallais passer un pointeur de fonction a sa_sigaction, mais je suis perdu pour l'utiliser, et pour transmettre un pointeur sur une structure par exemple

    Merci d'avance !
    Je ne vois pas vraiment ce que tu veux faire.
    fork() copie entièrement la mémoire du processus parent.
    Je ne pense pas qu'il est possible de fermer des descripteurs de fichiers dans le père.
    Pour les allocations, qd le fils se termine (par exit()) et que le père a fait un wait(), la mémoire du fils est libéré.
    Pour les sigactions, il y a beaucoup d'exemples sur Google.

  3. #3
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    Dans la F.A.Q. C il a déjà des exemples d'utilisation de pointeurs de fonctions
    (si c'est là le pb.) : http://c.developpez.com/faq/?page=fo...bleau_pointeur

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    50
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 50
    Par défaut
    Merci a vous deux ^^
    J'en suis a passer un pointeur lors de la reception d'un signal, donc j'ai passe les problemes sur le fork et le wait, et je suis reste bloque au pointeur parce que je ne voit pas comment fonctionne sigaction. Mais pas de soucis, je sais ce qu'est un pointeur sur fonction.

    En gros, est-ce que je peut avoir un exemple d'utilisation de sigaction. J'ai cherche pas mal sur le net et impossible de voir un code utilisant le passage d'une fonction (ou alors une fonction utilisant elle meme un globale)

  5. #5
    Membre émérite Avatar de valefor
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    711
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 711
    Par défaut
    Je crois qu'il faut un flag SA_SIGINFO dans une structure pour passer un pointeur à ton handler de signal.

  6. #6
    Membre émérite Avatar de mchk0123
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    816
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 816
    Par défaut
    Autre lien pour le passage de pointeurs de fonction :

    http://www.newty.de/fpt/zip/f_fpt.pdf

    Et pour l'utilisationde sigaction (premier lien sur "sigaction" trouvé par Google) :

    http://www.gnu.org/software/libtool/...n-Example.html

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/09/2013, 18h01
  2. Réponses: 20
    Dernier message: 15/05/2009, 14h05
  3. [Prototype] Utiliser Json pour envoyer des données au serveur
    Par GandalfZeGrey dans le forum Bibliothèques & Frameworks
    Réponses: 3
    Dernier message: 14/02/2008, 17h16
  4. utiliser un script pour inserer des objets 3D
    Par s_mihai dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/08/2005, 13h52
  5. Utiliser un parser pour extraire des formules
    Par EpOnYmE187 dans le forum C++
    Réponses: 2
    Dernier message: 15/03/2005, 23h55

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