Sous-routine kra_getrset

Objectif

Extrait l'ensemble de ressources auquel un composant de travail est associé.

Syntaxe

#include <sys/rset.h>
int kra_getrset (rstype, rsid, flags, rset, rset_type)
rstype_t rstype;
rsid_t rsid;
unsigned int flags;
rsethandle_t rset;
unsigned int *rset_type;

Descriptif

La sous-routine Kra_getrset renvoie l'ensemble de ressources auquel un composant de travail spécifié est associé.

Le composant de travail est un processus existant identifié par l'ID processus ou une unité d'exécution de noyau existante identifiée par l'ID unité d'exécution du noyau (tid). Un ID de processus ou une valeur d'ID d'unité d'exécution de RS_MYSELF indique que l'ensemble de ressources associé au processus en cours ou à l'unité d'exécution de noyau en cours est demandé.

Une fois l'exécution terminée, l'un des types de ressource suivants est renvoyé dans le paramètre Type_rr :
  • Une valeur de RS_EFFECTIVE_RSET indique que le processus a été explicitement associé à l'ensemble de ressources. Cela a peut-être été fait avec le sous-programme Kra_attachrset .
  • La valeur RS_PARTITION_RSET indique que le processus n'a pas été explicitement associé à un ensemble de ressources. Toutefois, le processus disposait d'un ensemble de ressources de partition explicitement défini. Cela peut être défini avec le sous-programme Setpartition krs_setpartition ou via l'utilisation de classes de travail WLM avec des ensembles de ressources.
  • Une valeur de RS_DEFAULT_RSET indique que le processus n'a pas été explicitement associé à un ensemble de ressources et qu'il ne dispose pas d'un ensemble de ressources de partition explicitement défini. Le jeu de ressources par défaut du système est renvoyé.
  • La valeur RS_THREAD_RSET indique que l'unité d'exécution du noyau a été explicitement associée à l'ensemble de ressources. Cette opération peut avoir été effectuée à l'aide de la sous-routine ra_attachrset .

Paramètres

Article Descriptif
Rstype Indique le type du composant de travail dont la connexion d'ensemble de ressources est demandée. Ce paramètre doit être la valeur suivante, définie dans rset.h:
  • R_PROCESS: processus existant
  • R_THREAD: unité d'exécution de noyau existante
Rsid Identifie le composant de travail dont la connexion d'ensemble de ressources est demandée. Ce paramètre doit être le suivant:
  • ID processus (pour Rstype de R_PROCESS): définissez la zone Rsid_t at_pid sur l'ID processus du processus souhaité.
  • ID d'unité d'exécution du noyau (pour Rstype de R_THREAD): définissez la zone Rsid_t at_tid sur l'ID unité d'exécution de l'unité d'exécution du noyau.
Flags Réservé pour une utilisation future. Indiquez 0.
rset Indique l'ensemble de ressources pour la réception de l'ensemble de ressources du composant de travail.
Type_rr Pointe vers une zone entière non signée pour recevoir le type de jeu de ressources.

Valeurs renvoyées

Une fois l'exécution terminée, la sous-routine Kra_getrset renvoie un 0. En cas d'échec, une ou plusieurs des informations suivantes sont vraies:
Article Descriptif
EINVAL Les causes possibles sont les suivantes :
  • Le paramètre Indicateurs contient une valeur non valide.
  • Le paramètre Rstype contient un qualificatif de type non valide.
EDÉFAUT Adresse non valide.
ESRCH L'unité d'exécution de processus ou de noyau identifiée par les paramètres Rstype et Rsid n'existe pas.