编程接口指南

使用 lgrp_affinity_get()

lgrp_affinity_get(3LGRP) 函数返回 LWP 与给定 lgroup 的关联。

#include <sys/lgrp_user.h>

lgrp_affinity_t lgrp_affinity_get(idtype_t idtype, id_t id, lgrp_id_t lgrp);

idtypeid 参数指定 lgrp_affinity_get() 函数检查的 LWP。如果 idtype 的值为 P_PID,则 lgrp_affinity_get() 函数将获取进程 ID 与 id 参数值匹配的进程中某个 LWP 的 lgroup 关联。如果 idtype 的值为 P_LWPID,则 lgrp_affinity_get() 函数将获取 LWP ID 与 id 参数值匹配的当前进程的 LWP 的 lgroup 关联。如果 idtype 的值为 P_MYID,则 lgrp_affinity_get() 函数将获取当前 LWP 的 lgroup 关联。

如果给定的 lgroup 或 ID 类型无效,则 lgrp_affinity_get() 函数将返回 EINVAL。如果调用进程的有效用户不是超级用户,并且调用进程的 ID 与某个 LWP 的实际用户 ID 或有效用户 ID 不匹配,则 lgrp_affinity_get() 函数将返回 EPERM。如果未找到给定的 lgroup 或 LWP,则 lgrp_affinity_get() 函数将返回 ESRCH