【发布时间】:2013-10-25 05:52:45
【问题描述】:
我想分析我的守护程序,它会暂停主线程:
sigset_t signal_mask;
sigemptyset(&signal_mask);
sigaddset(&signal_mask, SIGTERM);
sigaddset(&signal_mask, SIGINT);
int sig;
sigwait(&signal_mask, &sig);
所有其他线程只是阻塞所有信号。
据我所知,分析器使用SIGPROF 信号进行操作。如果我开始使用这样的代码进行分析,则输出的 .prof 文件为空:
env CPUPROFILE=daemon.prof ./daemon
我应该如何正确处理主线程和其他线程中的信号以启用分析?或者可能是其他地方的问题?
【问题讨论】:
-
我正在“提高”你的问题,因为它提出了一个重要的问题 w.r.t.信号处理。
标签: c++ multithreading signals profiler gperftools