- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Hi,
I use IEEE_HANDLER to handle FPE. When a FPE occurs, the function which was put in the parameter of IEEE_HANDLER is called.
As described in the document at the end of this function, the program terminates.
I try to catch the terminate signal SIGTERM of after thisfunctionbut it's seems that it's not this one...
Do you know which signal is sent ?
Thx in advance.
- Etiquetas:
- Intel® Fortran Compiler
Enlace copiado
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
After the interrupt handler, it appears termination is done via SIGKILL which can be neither caught nor ignored.
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
I reach to the same conclusion.
SIGNALQQ seems to not work when the Fortran code is called from C++.
I manage to catch the signal in the Fortran Code, using the function PXFSIGACTION.
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Sphost:
SIGNALQQ seems to not work when the Fortran code is called from C++.
I expect that relates to the Fortran RTLs not being initialized in the absence of a Fortran main.
Sphost:
I manage to catch the signal in the Fortran Code, using the function PXFSIGACTION.
The SIGFPE or SIGKILL?
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
MADkddavis:
Sphost:
SIGNALQQ seems to not work when the Fortran code is called from C++.
I expect that relates to the Fortran RTLs not being initialized in the absence of a Fortran main.
Sphost:
I manage to catch the signal in the Fortran Code, using the function PXFSIGACTION.
The SIGFPE or SIGKILL?
SIGFPE
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
So, I managed to catch the signal FPE in my fortran code, using PXFSIGACTION.
But, when I'm in my handler function how can I know what type of FPE occured ? (Divide by zero or others)
I was having this information when I handled with IEEE_HANDLE, but, as described before, with this type of handler, the program terminates at the end of the handler function with a signal that cannot be caught by my C++ main function
- Marcar como nuevo
- Favorito
- Suscribir
- Silenciar
- Suscribirse a un feed RSS
- Resaltar
- Imprimir
- Informe de contenido inapropiado
Perhaps IEEE_FLAGS with the GET action will do, otherwise with the PXF routines you may have to define a signal set and check for membership via PXFSIGISMEMBER.

- Suscribirse a un feed RSS
- Marcar tema como nuevo
- Marcar tema como leído
- Flotar este Tema para el usuario actual
- Favorito
- Suscribir
- Página de impresión sencilla