[C] Passer un argument à un signal

Apaz -  
kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   -
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
Configuration: Linux
Firefox 3.0.1
A voir également:

1 réponse

kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
 
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