C 使用信号处理程序从函数返回
是否可以编写一个信号处理程序来强制程序从函数返回 例如,在以下代码中:C 使用信号处理程序从函数返回,c,linux,operating-system,signals,C,Linux,Operating System,Signals,是否可以编写一个信号处理程序来强制程序从函数返回 例如,在以下代码中: void myfun() { __asm__("repeat: jmp repeat"); } myfun()有一个无限循环。我想停止这个不确定循环,并通过发出一些信号返回到主函数。这可能吗 谢谢。在信号处理程序中,对main中准备的setjmp执行longjmp,在给定的汇编代码中,没有检查易失性变量。我使用它来分析分支指令的处理器性能,所以来自其他变量的干扰应该是最小的。理想情况下,我希望引发一个允许函数返回的
void myfun() {
__asm__("repeat: jmp repeat");
}
myfun()有一个无限循环。我想停止这个不确定循环,并通过发出一些信号返回到主函数。这可能吗
谢谢。在信号处理程序中,对
main
中准备的setjmp
执行longjmp
,在给定的汇编代码中,没有检查易失性变量。我使用它来分析分支指令的处理器性能,所以来自其他变量的干扰应该是最小的。理想情况下,我希望引发一个允许函数返回的异常。@Arani我检查了标准,没有看到任何条款禁止您直接从处理程序调用longjmp
,然后循环就不必更改了。我将相应地改变我的答案。