Forum Programmation.c Traitement du signal

Posté par  .
Étiquettes : aucune
0
4
oct.
2008
Salut à tous !!

Je m'intéresse au traitement du signal et je me demandais si il était possible de donner à un signal l'utilisation d'une procédure, sous la forme :

void maProcedure(void)


car un
signal(SIGINT, maProcedure)
me donne comme erreur passing argument 2 of ‘signal’ from incompatible pointer type, ce qui est normal.

Pourtant, je pense qu'il est possible d'affecter à un signal autre chose qu'un void action(int) ?

Merci pour votre aide :)
  • # Titre trompeur

    Posté par  (site web personnel) . Évalué à 4.

    J'ai commencé à lire en m'attendant à trouver une question de traitement du signal :)

    A part ça, non ce n'est pas possible de mettre autre chose dans la mesure ou signal n'a aucune idée de la signature de ta fonction (il va juste avoir son adresse).
    Ta fonction sera appelée avec un int en parametre, donc il faut que tu donnes une fonction qui prend ce int en parametre, quitte à ne pas l'utiliser.
  • # Rep

    Posté par  . Évalué à 1.

    J'y avais pensé, mais mon post n'est pas paru :(

    EN fait, je crée un
    static void traitement (int i)
    maProcedure;


    et je fais un signal(SIGINT, traitement)

    Merci pour l'aide :)

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.