c++ - SIGRTMAX 的 Valgrind 和 sigaction

标签 c++ signals valgrind

我调用 sigactionSIGRTMAX 安装处理程序,这通常没问题。但是,如果我使用 valgrind 分析可执行文件,这将失败。为什么?

最佳答案

它失败是因为 valgrind 保留了一个信号,编号最高的一个,供其内部使用(调度程序使用它来中断系统调用中阻塞的线程),因此它拒绝客户端程序安装一个该信号的处理程序或以其他方式操纵它。

关于c++ - SIGRTMAX 的 Valgrind 和 sigaction,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12981455/

相关文章:

memory - 在 "killed 9"进程上使用 massif

c - 使用 strcpy 写入无效

c++ - 如何编写可转换代码,32 位/64 位?

c++ - 导致段错误的析构函数

haskell - 如何用haskell处理Windows上的信号?

perl - 如何在 Perl 中通过 SIGHUP 在 while(1) 之后跳转?

c++ - lambda 的 const auto 和 auto 之间的区别

c++ - 如何求和两个或三个大数?

signals - 使用 supervisord 将信号传递到托管进程

c++ - Valgrind 发现了 3 个内存泄漏,但我不知道它们在哪里