我正在尝试使用 getContext() 和 setContext() 在 C++ 应用程序中操作线程。我注意到 ucontext_t 结构有这个字段,uc_stack.ss_flags。这些标志有什么用?我想知道如何将它们用于线程库中的垃圾收集。通常它们默认设置为零。
在 sigstack.h
中我看到:
/* Possible values for `ss_flags.'. */
enum
{
SS_ONSTACK = 1,
#define SS_ONSTACK SS_ONSTACK
SS_DISABLE
#define SS_DISABLE SS_DISABLE
};
搜索这些会将我们带到这里: http://pubs.opengroup.org/onlinepubs/009695399/functions/sigaltstack.html
上面写着:
- SS_ONSTACK The process is currently executing on the alternate signal stack. Attempts to modify the alternate signal stack while the process is executing on it fail. This flag shall not be modified by processes.
- SS_DISABLE The alternate signal stack is currently disabled.
我是一名优秀的程序员,十分优秀!