prochadd 内核服务
用途
添加系统范围的进程状态-更改 通知例程。
语法
#include <sys/types.h>
#include <sys/errno.h>
#include <sys/proc.h> void prochadd ( term)
struct proch *term;
struct proch *term;
参数
| 项 | 描述 |
|---|---|
| 期限 | 指向 普罗赫 结构,该结构包含要从系统范围通知例程链中添加的通知例程。 |
描述
Prochadd 内核服务允许内核扩展注册主要进程状态转换的通知。 Prochadd 服务允许在流程发生以下情况时通知调用者:
- 刚刚已创建。
- 将被终止。
- 正在执行新程序。
完整的标注列表如下所示:
| 呼出 (callout) | 描述 |
|---|---|
| proch_initialize | 进程 (pid) 已创建 (初始化, 克福克斯) |
| proch_terminate | 进程 (pid) 已终止 (凯西特克斯) |
| PROCH_EXEC | 正在执行进程 (pid) (外显) |
| 线程初始化 | 已创建线程 (tid) (克福克斯, thread_create) |
| 线程终止 | 已创建线程 (tid) (凯西特克斯, thread_terminate) |
Prochadd 服务通常用于允许在进程进行主要状态更改时恢复或重新分配资源。
调用者应该分配一个 普罗赫 结构并更新proch.handler字段中包含调用者提供的通知例程的入口点,然后调用 Prochadd 内核服务。 对于正在进行主要状态更改的系统中的每个进程,将调用此 通知例程 一次。
普罗赫 结构的格式如下所示:
struct proch
{
struct proch *next
void *handler ();
}执行环境
仅可从 流程环境 调用 Prochadd 内核服务。