Fonctions | |
| void | FredMaskOn () |
| Début d'exclusion mutuelle par masquage des interruptions. | |
| void | FredMaskOff () |
| Fin d'exclusion mutuelle par démasquage des interruptions. | |
| void | FredMasksInit () |
| Initialisation des masques de validation/inhibition des interruptions. | |
Variables | |
| sigset_t | ALL_BLOCKED |
| Masque d'inhibition des interruptions. | |
| sigset_t | NO_BLOCKED |
| Masque d'autorisation des interruptions. | |
|
|
Implantation L'implantation UNIX est très simple. Il suffit de changer le masque des signaux à la valeur définissant les signaux à laisser passer.
00052 {
00053 sigprocmask(SIG_SETMASK, &NO_BLOCKED, (sigset_t *)0);
00054 }
|
|
|
Implantation L'implantation UNIX est très simple. Il suffit de changer le masque des signaux à la valeur définissant les signaux à bloquer.
00036 {
00037 sigprocmask(SIG_SETMASK, &ALL_BLOCKED, (sigset_t *)0);
00038 }
|
|
|
Implantation L'implantation UNIX est très simple. Il suffit de définir le vecteur binaire autorisant/interdisant chacune des interruption. On garde la possibilité de tuer le process UNIX en cas de programme en boucle infinie masquée en laissant passer le signal SIGINT
00069 {
00070 sigfillset(&ALL_BLOCKED); /* on masque toutes les interruptions */
00071 sigdelset (&ALL_BLOCKED,SIGINT ); /* sauf SIGINT */
00072 sigemptyset(&NO_BLOCKED); /* on demasque toutes les interruptions */
00073 }
|
1.2.17