プログラミングインタフェース

lgrp_affinity_get() の使用法

lgrp_affinity_get(3LGRP) 関数は、指定した lgroup に対して LWP が持つアフィニティーを返します。

#include <sys/lgrp_user.h>
lgrp_affinity_t lgrp_affinity_get(idtype_t idtype, id_t id, lgrp_id_t lgrp);

idtype および id 引数により、lgrp_affinity_get() 関数で検証する LWP を指定します。idtype の値に P_PID を指定した場合、lgrp_affinity_get() 関数は、id 引数の値と一致するプロセス ID を持つプロセスにある LWP のいずれかについて lgroup アフィニティーを取得します。idtypeP_LWPID を指定した場合、lgrp_affinity_get() 関数は、実行中のプロセスにある、id 引数の値と一致する LWP ID を持つ LWP について lgroup アフィニティーを取得します。idtypeP_MYID を指定した場合、lgrp_affinity_get() 関数は、実行中の LPW について lgroup アフィニティーを取得します。

指定した lgroup または ID タイプが有効でないとき、lgrp_affinity_get() 関数は EINVAL を返します。呼び出しプロセスの実効ユーザーがスーパーユーザーではなく、呼び出しプロセスの ID がどの LPW の実ユーザー ID または実効ユーザー ID とも一致しない場合、lgrp_affinity_get() 関数は EPERM を返します。指定した lgroup または LPW が存在しない場合は、lgrp_affinity_get() 関数は ESRCH を返します。