好好活就是有意义的事,有意义的事就是好好活
linux手册翻译 ucontext(3)
linux手册翻译 ucontext(3)

linux手册翻译 ucontext(3)

\color{#A00000}{NAME}
ucontext —— 用户线程上下文

\color{#A00000}{LIBRARY}
Standard C Library (libc, -lc)

\color{#A00000}{SYNOPSIS}
#include <ucontext.h> 
/* Userlevel context.  */
typedef struct ucontext_t
  {
    unsigned long int __ctx(uc_flags);
    struct ucontext_t *uc_link;
    stack_t uc_stack;
    mcontext_t uc_mcontext;
    sigset_t uc_sigmask;
    struct _libc_fpstate __fpregs_mem;
    __extension__ unsigned long long int __ssp[4];
  } ucontext_t;

\color{#A00000}{DESCRIPTION}
ucontext_t 是用于保存用户线程的上下文的结构类型。 线程的上下文包括其堆栈、寄存器和阻塞信号列表(即信号掩码)。
ucontext_t 结构至少包含以下字段:

  • ucontext_t *uc_link
    当前上下文结束运行时,切换到的上下文
  • sigset_t uc_sigmask
    信号掩码
  • stack_t uc_stack
    用户线程的栈空间
  • mcontext_t uc_mcontext
    保存的寄存器信息

当上下文的入口点函数返回时,uc_link 字段指向要恢复的上下文。 如果 uc_link 等于 NULL,则在此上下文返回时进程退出
uc_mcontext 字段依赖于具体的CPU硬件,可移植应用程序应将其视为不透明的。
此外定义了以下函数来操作 ucontext_t:

int getcontext(ucontext_t *);
ucontext_t * getcontextx(void);
int setcontext(const ucontext_t *);
void makecontext(ucontext_t *, void (*)(void), int, ...);
int swapcontext(ucontext_t *, const ucontext_t *);

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注