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>
void prochadd ( term)
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.