[C] Passer un argument à un signal

Fermé
Apaz - 8 sept. 2008 à 06:21
kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 - 8 sept. 2008 à 10:29
Bonjour,

J'ai un programme qui doit tourner en boucle jusqu'à ce que l'utilisateur fasse Ctrl-C dans un terminal. Je veux que l'appui sur cette touche quitte le programme mais en faisant une fonction (suppression de données, ...).

la fonction s'appelle de_init()

Donc s'il n'y a pas d'arguments, je sais faire, il suffit de mettre signal(SIGINT, de_init); mais dans cette fonction j'ai besoin de connaître des variables. Est-il possible de passer un argument en même temps ? J'ai entendu parler de POSIX.4 qui pourrait peut-être m'aider, mais j'en sais pas plus.

Pour le moment, la seule solution que j'ai est de passer mes variables en globale, mais j'aimerais éviter ça.

Merci pour votre aide
A voir également:

1 réponse

kilian Messages postés 8731 Date d'inscription vendredi 19 septembre 2003 Statut Modérateur Dernière intervention 20 août 2016 1 527
8 sept. 2008 à 10:29
Salut,

Bonne question. Non je crois que tu ne peux pas.
J'ai toujours vu des communications avec des signaux par variables globales.
Ni signal() ni sigaction() ne pourront t'aider à faire ça.
0