kra_getrset 子例程

用途

获取工作组件所连接到的资源集。

语法

#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;

描述

克拉格特集 子例程返回指定的工作组件连接到的资源集。

工作组件是由进程标识所标识的现有进程或由内核线程标识 (tid) 所标识的现有内核线程。 进程标识或线程标识值RS_自身分别指示连接到当前进程或当前内核线程的资源集是被请求的。

成功完成后,会将下列其中一种类型的资源集返回到 rset_type 参数中:
  • 值 RS_EFFECTIVE_RSET 指示已将进程显式连接到资源集。 这可能是使用 kra_attachrset 子例程完成的。
  • 值 RS_PARTITION_RSET 指示该进程未显式连接到资源集。 但是,该进程具有显式设置的分区资源集。 这可以通过 krs_setpartition 子例程或通过将 WLM 工作类与资源集配合使用来设置。
  • 值 RS_DEFAULT_RSET 指示该进程未显式连接至资源集,也未显式连接至分区资源集。 将返回系统缺省资源集。
  • 值 RS_THREAD_RSET 指示已将内核线程显式连接至该资源集。 这可能是使用 ra_attachrset 子例程完成的。

参数

描述
雷斯特佩 指定要请求其资源集连接的工作组件的类型。 此参数必须是 rset.h中定义的以下值:
  • R_PROCESS: 现有进程
  • R_THREAD: 现有内核线程
Rsid 标识请求其资源集连接的工作组件。 此参数必须如下所示:
  • 进程标识 (对于 R_PROCESS 的 雷斯特佩 ): 将 rsid_t at_pid 字段设置为所需进程的进程标识。
  • 内核线程标识 (对于 R_THREAD 的 雷斯特佩 ): 将 rsid_t at_tid 字段设置为期望的内核线程的线程标识。
标志 保留以供将来使用。 指定为 0。
rset 指定要接收工作组件的资源集的资源集。
rset_type 指向无符号整数字段,以接收资源集类型。

返回值

成功完成后, 克拉格特集 子例程将返回 0。 如果不成功,那么以下一项或多项为 true:
描述
EINVAL 发生了下列其中一个错误:
  • 标志 参数包含无效的值。
  • 雷斯特佩 参数包含无效类型限定符。
EFAULT 地址无效。
ESRCH 雷斯特佩Rsid 参数所标识的进程或内核线程不存在。