-
Notifications
You must be signed in to change notification settings - Fork 16
/
signal.txt
40 lines (34 loc) · 2.63 KB
/
signal.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
SIGNAL.H
SIGNAUX ==> #Définit toutes les macros SIGKILL, SIGINT, etc.
sig_atomic_t #Plus grand type pouvant être accédé par une seule
#instruction processeur (cf signal_handler.txt).
SIG_IGN #Pointeur de fonction utilisé par signal() pour ignorer
#un signal
SIG_DFL #Pointeur de fonction utilisé par signal() pour faire
#l'action par défaut
SIG_ERR #Macro renvoyée par signal() en cas d'erreur
signal(INT_VAL, #INT_VAL représente un signal (utiliser les macros
FONC_ADR) #SIG* et non leurs valeurs qui sont définies par
#l'implémentation)
#FONC_ADR renvoie vers une void FONC_VAR qui a un seul
#INT_VAR comme argument. Cet argument sera remplacé par
#le numéro de signal INT_VAL.
#Exécute FONC_VAR à chaque interception du signal
#INT_VAL.
#Si :
# - FONC_ADR est SIG_IGN, le signal est ignoré
# - FONC_ADR est SIG_DFL, l'action par défaut du signal
# est effectué.
#Les précédents signal() portant sur le même INT_VAL
#n'agissent plus.
#SIGKILL et SIGSTOP ne peuvent pas être interceptés.
#Le signal handler FONC_VAR ne doit pas contenir
#certaines fonctions considérées comme "unsafe" et il
#existe un certain nombre de restrictions
----| Renvoie le dernier FONC_ADR associé au signal INT_VAL
| avant l'exécution de ce signal(), ou SIG_ERR en cas
| d'erreur
| Peu portable au sein de Linux : préférer sigaction()
raise(INT_VAL) #Envoie le signal INT_VAL au processus courant