setjmpx 内核服务

用途

允许保存当前执行状态或上下文。

语法

#include <sys/types.h>
#include <sys/errno.h>
int setjmpx ( jump_buffer)
label_t *jump_buffer;

参数

描述
jump_buffer 指定调用者提供的跳转缓冲区的地址,该地址是在调用 塞廷普 服务时指定的。

描述

塞廷普 内核服务会保存当前执行状态或上下文,以便后续 隆金普 调用可能导致立即从 塞廷普 服务返回。 塞廷普 服务使用必需的状态信息保存上下文,包括:

  • 当前中断优先级。
  • 该进程当前是否拥有内核方式锁定。

其它状态变量包括非易失性通用寄存器,当前程序的目录和堆栈指针,以及返回地址。

可以嵌套对 塞廷普 服务的调用。 每个对 塞廷普 服务的调用都会导致将此时的上下文推送到 已保存上下文的堆栈的顶部。

执行环境

可以从 流程中断 环境中调用 塞廷普 内核服务。

返回值

描述
非零值 指示 隆金普 调用已导致 塞廷普 服务返回。
重大安全事件数量 指示任何其他情况。