Linux 3.0 x86_64:何时引发 SIGSTKFLT?

发布于 2025-01-06 20:43:38 字数 63 浏览 6 评论 0原文

在 x86_64 上的 Linux 3.0 下,什么情况下(如果有)信号 SIGSTKFLT 会被内核同步发出?

Under what circumstances (if any) would the signal SIGSTKFLT be synchronously raised by the kernel under Linux 3.0 on x86_64 ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

黎夕旧梦 2025-01-13 20:43:38

根据 man 7 signal

 Signal       Value     Action   Comment

SIGSTKFLT    -,16,-     Term    Stack fault on coprocessor (unused)

由于 x86 协处理器堆栈不会出错(我很确定),我认为它不能隐式发出信号。只有显式生成(通过 kill()raise())可能会导致这种情况。

我 grep 了内核源代码。它不使用它,但有大约 50 个实例(每个 CPU 架构)

#define SIGSTKFLT   16

According to man 7 signal:

 Signal       Value     Action   Comment

SIGSTKFLT    -,16,-     Term    Stack fault on coprocessor (unused)

Since the x86 coprocessor stack cannot fault (I'm pretty sure), I don't think it can be signaled implicitly. Only explicit generation (by kill() or raise()) could cause it.

I grep'd the kernel source. It does not use it, but there are about 50 instances (per CPU architecture) of

#define SIGSTKFLT   16
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文