Macros SIG_xxx y SIGxxxx ANSI C

#define SIG_DFL 
#define SIG_ERR 
#define SIGABRT 
#define SIGFPE 
#define SIGILL 
#define SIGSEGV 
#define SIGTERM

Estos expanden a expresiones constantes con valores únicos que tienen tipo compatible con el segundo argumento a y el valor de retorno de la función signal, y cuyo valor se compara inigualmente a la localización de cualquier función declarable; y los siguientes, cada cual expande a una expresión entera positiva y constante que es número de señal para la condición especificada:

SIGABRT Terminación anormal, tal como es iniciada por la función abort
SIGFPE Una Operación aritmética errónea, tal como es dividir entre cero o una operación resultando en un "desbordamiento"
SIGILL Detección de un proceso inválido de una función, tal como es una instrucción ilegal
SIGINT Recibo de señal de atención interactiva
SIGSEGV Acceso inválido a almacenaje
SIGTERM Una petición a terminar enviado a un programa

Una implemntación no necesita generar ninguna de estas señales, excepto como un resultado de llamadas explícitas a la función raise.

Ejemplo:

#define SIG_DFL ((void (*)(int))(0))
#define SIG_ERR ((void (*)(int))(1))
#define SIG_IGN ((void (*)(int))(-1))
 
#define SIGABRT 288
#define SIGFPE  289
#define SIGILL  290
#define SIGSEGV 291
#define SIGTERM 292
#define SIGINT  295
DJGPP
#ifdef __cplusplus
typedef void _USERENTRY (_EXPFUNC * _CatcherPTR)(int);
#else
typedef void _USERENTRY (_EXPFUNC * _CatcherPTR)();
#endif
 
#define SIG_DFL ((_CatcherPTR)0)   /* Default action */
#define SIG_IGN ((_CatcherPTR)1)   /* Ignore action  */ 
#define SIG_ERR ((_CatcherPTR)-1)  /* Error return   */
 
#define SIGABRT        22
#define SIGFPE          8         /* Floating point trap */
#define SIGILL          4         /* Illegal instruction */
#define SIGINT          2 
#define SIGSEGV        11     /* Memory access violation */
#define SIGTERM        15
Borland
typedef void (*_p_sig_fn_t)(int nSig);
 
#define SIG_DFL ((_p_sig_fn_t) 0)
#define SIG_IGN ((_p_sig_fn_t) 1)
#define SIG_ERR ((_p_sig_fn_t) -1)
 
#define SIGINT     2 /* Interactive attention  */ 
#define SIGILL     4 /* Illegal instruction */
#define SIGFPE     8 /* Floating point error */
#define SIGSEGV   11 /* Segmentation violation */
#define SIGTERM   15 /* Termination request */
#define SIGABRT   22 /* Abnormal termination (abort) */
Dev-C++


suministrado por FreeFind
Valid HTML 4.0! Valid CSS!