Service de noyau setjmpx
Objectif
Permet de sauvegarder l'état ou le contexte d'exécution en cours.
Syntaxe
#include <sys/types.h>
#include <sys/errno.h> label_t *jump_buffer;
Paramètre
| Article | Descriptif |
|---|---|
| Jump_buffer | Indique l'adresse de la mémoire tampon de saut fournie par l'appelant qui a été spécifiée lors de l'appel au service Setjmpx . |
Descriptif
Le service de noyau Setjmpx enregistre l'état d'exécution en cours ou le contexte, de sorte qu'un appel Longjmpx ultérieur puisse provoquer une reprise immédiate à partir du service Setjmpx . Le service Setjmpx sauvegarde le contexte avec les informations d'état nécessaires, notamment:
- Priorité d'interruption en cours.
- Indique si le processus est propriétaire du verrou en mode noyau.
Les autres variables d'état incluent les registres généraux non volatiles, la table des matières du programme en cours et les pointeurs de pile, ainsi que l'adresse de retour.
Les appels au service Setjmpx peuvent être imbriqués. Chaque appel au service Setjmpx entraîne la mise en contexte du contexte à ce point vers le haut de La pile de contextes enregistrés.
Environnement d'exécution
Le service de noyau Setjmpx peut être appelé à partir de l'environnement Processus ou Interruption .
Valeurs renvoyées
| Article | Descriptif |
|---|---|
| Valeur différente de zéro | Indique qu'un appel Longjmpx a provoqué le retour du service Setjmpx . |
| 0 % | Indique toute autre circonstance. |