Next: Autres fonctions de traitement
Up: Mise en place des
Previous: Mise en place des
  Contents
Un processus peut intercepter des signaux de manière à traiter un
événement particulier. La mise en place du traitement du signal se
fait en utilisant la fonction signal.
Prototype : void *signal(int sig, void (*fonction()))
- Si fonction=SIG_DFL : L'action effectuée est celle
faite par défaut.
- Si fonction=SIG_IGN : Le signal est ignoré.
- Si fonction est une adresse : Le signal provoque
l'exécution de la fonction lors de la réception du signal.
- Lors de la réception d'un signal, le système remet en place
l'action par défaut avant d'exécuter la fonction. Celle-ci doit
donc prévoir de réarmer le signal.
- L'arrivée d'un signal pendant une E/S peut provoquer une
erreur E/S. Il faut alors réitérer la requête.
- Les traitements de signaux définis par un processus sont
transmis aux processus fils mais un exec remet en place l'action par
défaut.
- signal retourne l'adresse de la fonction associée au
signal avant changement ou la valeur -1 en cas d'erreur.
Arnaud Revel
2001-11-26