He escrito una aplicación donde tengo un número registrado de manejador de señal para diferentes señales en linux. Después de que el proceso recibe la señal, el control se transfiere al controlador de señal que había registrado. En este manejador de señal hago un trabajo que debo hacer, y luego me gustaría llamar al manejador de señal por defecto, es decir, SIF_DFL
o SIG_IGN
. Sin embargo, SIG_DFL
y SIG_ING
son macros que se expanden a los valores numéricos 0 y 1 respectivamente, que son direcciones de función no válidas.ejecución del manejador de señal predeterminado
¿Hay alguna manera en que pueda llamar acciones predeterminadas, es decir, SIG_DFL
o SIG_IGN
?
Para lograr el efecto de SIG_DFL
o SIG_ING
llamo a la salida (1) y no hago nada, respectivamente. Pero para señales como SIGSEGV
también me gustaría tener un volcado del núcleo. En general, me gustaría que mi comportamiento predeterminado fuera el mismo que SIG_DFL
e ignorar el mismo comportamiento SIG_IGN
, de la misma manera que lo haría el sistema operativo.
posible duplicación de [Invocar explícitamente SIG \ _DFL/SIG \ _IGN controladores en Linux] (http://stackoverflow.com/questions/3147840/explícitamente-invocar-sig-dfl-sig-ign-handlers-on-linux) – pilcrow