Visual c++ (为什么)raise是否重置信号处理器?

Visual c++ (为什么)raise是否重置信号处理器?,visual-c++,signals,abort,msvcrt,Visual C++,Signals,Abort,Msvcrt,的实现似乎会重置所安装的处理程序,也就是说,在多线程程序中,要调用的第一个线程将调用自定义的handlerFunction,但如果任何其他线程随后调用abort,则该另一个线程将只调用exit(3),信号+raise的行为规定如下。来自维基百科关于: 。。。更换不可靠且已弃用的信号()功能。信号 通过signal()接口安装的处理程序将被卸载 在执行处理程序之前。永久处理程序必须 因此,在处理程序运行期间,可以通过调用signal()重新安装 执行,导致 所以这似乎是预期的行为。(当然,MSDN

的实现似乎会重置所安装的处理程序,也就是说,在多线程程序中,要调用的第一个线程将调用自定义的
handlerFunction
,但如果任何其他线程随后调用abort,则该另一个线程将只调用
exit(3)
,信号+raise的行为规定如下。来自维基百科关于:

。。。更换不可靠且已弃用的
信号()
功能。信号 通过
signal()
接口安装的处理程序将被卸载 在执行处理程序之前。永久处理程序必须 因此,在处理程序运行期间,可以通过调用
signal()
重新安装 执行,导致

所以这似乎是预期的行为。(当然,MSDN文档似乎完全没有提到这一点。)

问题如下: