Service de noyau longjmpx

Objectif

Permet à Traitement des exceptions en provoquant la reprise de l'exécution dans le contexte le plus récent.

Syntaxe

#include <sys/types.h>
#include <sys/errno.h>
int longjmpx ( ret_val)
int ret_val;

Paramètres

Article Descriptif
Ret_val Indique la valeur de retour à fournir à partir du service de noyau Setjmpx pour la reprise du contexte. Cette valeur indique normalement le type d'exception qui s'est produit.

Descriptif

Le service de noyau Longjmpx entraîne la modification du flux d'exécution normal de sorte que l'exécution reprend au contexte le plus récent. Le verrou en mode noyau est racheté si nécessaire. Le niveau de priorité d'interruption est réinitialisé à celui du contexte sauvegardé.

Le service Longjmpx appelle en interne le service Clrjmpx pour supprimer la mémoire tampon de saut spécifiée par le paramètre Jump_buffer dans la liste des contextes à reprendre. Le service Longjmpx renvoie toujours une valeur différente de zéro lors de son retour dans le contexte restauré. Par conséquent, si la valeur du paramètre Ret_val est 0, le service Longjmpx renvoie une valeur EINTR au contexte restauré.

S'il n'y a pas de contexte sauvegardé à reprendre, le système tombe en panne.

Environnement d'exécution

Le service de noyau Longjmpx peut être appelé à partir de l'environnement Processus ou Interruption .

Valeurs renvoyées

Un appel réussi au service Longjmpx ne renvoie pas à l'appelant. Au lieu de cela, elle entraîne la reprise de l'exécution à la reprise à partir d'un appel Setjmpx précédent avec la valeur de retour du paramètre Ret_val .