Service de noyau e_clear_wait

Objectif

Efface la condition d'attente pour une unité d'exécution de noyau.

Syntaxe

#include <sys/sleep.h>
void e_clear_wait ( tid,  result)
tid_t tid;
int result;

Paramètres

Article Descriptif
ID d'unité d'exécution Indique l'unité d'exécution du noyau à réveiller.
résultat Indique la valeur renvoyée à l'unité d'exécution du noyau réveillé. Les valeurs suivantes peuvent être utilisées :
THREAD_RÉVEIL
Généralement généré par le service de noyau _wakeup ou E_wakeup_one pour indiquer un wakeup normal.
THREAD_INTERROMPU
Indique un sommeil interrompu. Cette valeur est généralement générée par une distribution de signal lorsque l'indicateur INTERRUPTIBLE est défini.
THREAD_TIMED_OUT
Indique un délai d'expiration.
TRAITE_AUTRE
Déplace les codes système prédéfinis de ceux qui doivent être définis au niveau du sous-système. Le sous-système doit définir ses propres valeurs supérieures ou égales à cette valeur.

Descriptif

Le service de noyau E_clear_wait efface la condition d'attente pour l'unité d'exécution du noyau spécifiée par le paramètre D et l'unité d'exécution est exécutable.

Ce service de noyau diffère des services de noyau _wakeup, E_wakeup_oneet E_wakeup_w_result dans le fait qu'il suppose l'identité de l'unité d'exécution à réveiller. Ce service de noyau doit être utilisé pour traiter des cas exceptionnels, où une action spéciale doit être prise. Le paramètre Résultat permet de spécifier la valeur renvoyée à l'unité d'exécution réveillée par le service de noyau Unité_bloc_e_bloc ou Unité_sleep_thread .

Le service de noyau E_clear_wait n'a pas de valeur de retour.

Environnement d'exécution

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