2009-12-03 8 views
7

J'ai remarqué dans la définition de la sigaction, sa_sigaction callback, le dernier argument est un void *. Cela indiquerait que vous pouvez passer un argument utilisateur au gestionnaire sa_sigaction. Cela signifie que vous pouvez passer un argument utilisateur au gestionnaire sa_sigaction.Pouvez-vous passer un argument à sigaction?

Cependant, j'ai été incapable de trouver un exemple de ceci.

Est-ce que quelqu'un sait si vous pouvez passer un argument à la fonction de rappel de sigaction? et avez-vous un exemple simple?

Répondre

13

Malheureusement non. Alors que la signature est un vide *, c'est en fait un ucontext_t. De l'Single UNIX Specification:

le troisième argument peut être jeté à un pointeur vers un objet de type ucontext_t pour faire référence au processus de réception contexte qui a été interrompu lorsque le signal a été livré

+0

Et voici un exemple: http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/063/6391/6391l3.html – codelogic

+0

Un lien vers la page correspondante dans la spécification SUSv3 en ligne: http: //www.opengroup .org/onlinepubs/009695399/functions/sigaction.html – ephemient

+0

c'est malheureux :( – simon

Questions connexes