是否有信号安全版本的hpux _UNW_STACK_TRACE堆栈展开功能?

时间:2012-06-22 20:07:55

标签: signals hp-ux stack-unwinding

相当奇怪的是,hpux unwind API _UNW_STACK_TRACE没有采用文件描述符,而是采用FILE*。较新的API uwx_stack_trace也需要FILE*

这两个都使用缓冲IO而不是(信号安全IO接口)open / write / close,这些都不能安全地用于信号处理程序(其中一个)人们希望这样做的最明显的地方。)

在我们的一个(可能已经死了)ia64平台上,我们曾经有过自己的展开实现,但它是一个维护和片状的野兽,所以我不想再次走这条路。 HPUX堆栈还有其他选项可以放松吗?

1 个答案:

答案 0 :(得分:0)

我发现hpux documentation详细说明了他们的stackwalk迭代器接口。不幸的是,有点令人难以置信的是,在调试器中尝试这一点表明它也在信号环境中被破坏(uwx_init调用malloc!)