Service de noyau uexclear

Objectif

Rend de nouveau une unité d'exécution de noyau bloquée par le service uexblock exécutable.

Syntaxe

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/except.h>
void uexclear ( tid)
tid_t *tid;

Paramètre

Tableau 1. Paramètre
Article Descriptif
ID d'unité d'exécution Indique l'ID d'unité d'exécution de l'unité d'exécution de noyau précédemment bloquée à mettre en état d'exécution.

Descriptif

Le service de noyau uexclear remet une unité d'exécution de noyau spécifiée par le paramètre tid dans un état exécutable après avoir été rendue non exécutable par le service de noyau uexblock . Une unité d'exécution à laquelle a été envoyé un signal d'arrêt SIGSTOP est réexécutable lorsqu'elle reçoit le signal de continuation SIGCONT .

Le service de noyau uexclear peut être utilisé pour contrôler de manière paresseuse l'accès des unités d'exécution en mode utilisateur à une ressource partagée utilisable en série. Une ressource utilisée en série est utilisable par plusieurs unités d'exécution, mais seulement par une seule à la fois. Lorsqu'une unité d'exécution tente d'accéder à la ressource mais qu'elle n'a pas accès, une exception en mode utilisateur peut être configurée pour se produire.

Cette configuration donne le contrôle à un gestionnaire d'exceptions enregistré par le service de noyau uexadd . A l'aide du service de noyau uexblock , ce gestionnaire d'exceptions peut ensuite bloquer l'unité d'exécution jusqu'à ce que la ressource soit rendue disponible par la suite. A ce moment-là, le service uexclear peut être utilisé pour rendre l'unité d'exécution bloquée exécutable.

Environnement d'exécution

Le service de noyau uexclear peut être appelé à partir de l'environnement traitement ou interruption .

Valeurs renvoyées

Le service uexclear n'a pas de valeurs de retour.