Довольно странно, что hpux unwind API _UNW_STACK_TRACE не принимает дескриптор файла, а вместо этого принимает FILE*
. Более новый API uwx_stack_trace
также принимает FILE*
.Есть ли безопасная версия функции hpux _UNW_STACK_TRACE для стирания стека?
С обоими из этих использованием буферных (безопасных интерфейсов ввода-вывода сигналов) IO, а не open
/write
/close
, ни один из них можно безопасно использовать в обработчике сигнала (один из наиболее очевидных мест, где можно было бы пожелать сделать это).
На одной из наших (возможно, ныне мертвых) платформ ia64 у нас когда-то была своя собственная работа по восстановлению, но это было зверь для поддержания и шелушения, поэтому я не хочу снова идти по этому маршруту. Есть ли еще какие-то варианты для стека HPUX?