编程接口指南

使用 lgrp_cookie_stale()

lgrp_cookie_stale(3LGRP) 函数确定给定 cookie 所表示的 lgroup 分层结构快照是否最新。

#include <sys/lgrp_user.h>

int lgrp_cookie_stale(lgrp_cookie_t cookie);

lgrp_init() 函数返回的 cookie 可能会因为多种原因而过时,具体取决于快照所表示的视图。当视图设置为 LGRP_VIEW_OS 时,调用 lgrp_init() 函数所返回的 cookie 可能会过时,原因包括 lgroup 分层结构的更改(如动态重新配置)或CPU 联机状态的更改。当视图设置为 LGRP_VIEW_CALLER 时,调用 lgrp_init() 函数所返回的 cookie 可能会过时,原因是调用线程处理器集的更改或 lgroup 分层结构的更改。要刷新过时的 cookie,可以使用旧 cookie 调用 lgrp_fini() 函数,然后调用 lgrp_init() 函数生成一个新 cookie。

如果给定的 cookie 无效,则 lgrp_cookie_stale() 函数将返回 EINVAL