Service de noyau prochadd
Objectif
Ajoute un état de processus à l'échelle du système Routine de notification.
Syntaxe
#include <sys/types.h>
#include <sys/errno.h>
#include <sys/proc.h> struct proch *term;
Paramètres
| Article | Descriptif |
|---|---|
| terme | Pointe vers une structure Proch contenant une routine de notification à ajouter à partir de la chaîne de routines de notification à l'échelle du système. |
Descriptif
Le service de noyau Prochadd permet aux extensions de noyau de s'enregistrer pour la notification des transitions d'état de processus majeur. Le service Prochadd permet à l'appelant d'être averti lorsqu'un processus:
- vient d'être créé.
- est sur le point d'être arrêté.
- exécute un nouveau programme.
La liste complète des appels est la suivante:
| Légende | Descriptif |
|---|---|
| PROCH_INITIALISATION | Processus (pid) créé (Initp, Kforkx) |
| PROCH_ARRÊT | Processus (pid) terminé (Kexitx) |
| PROCH_EXEC | Processus (pid) exécution (Execvex) |
| THREAD_INITIALIZE | Unité d'exécution (tid) créée (Kforkx, Création d'unités d'exécution) |
| THREAD_TERMINATE | Unité d'exécution (tid) créée (Kexitx, Thread_terminate) |
Le service Prochadd est généralement utilisé pour permettre la récupération ou la réaffectation des ressources lorsque les processus subissent des changements d'état majeurs.
L'appelant doit allouer une structure Proch et mettre à jourproch.handlerAvec le point d'entrée d'une routine de notification fournie par l'appelant avant d'appeler le service de noyau Prochadd . Cette Routine de notification est appelée une fois pour chaque processus du système en cours de modification d'état majeur.
La structure Proch a le format suivant:
struct proch
{
struct proch *next
void *handler ();
}Environnement d'exécution
Le service de noyau Prochadd peut être appelé à partir de Environnement de processus uniquement.