NOMBRE¶
siginterrupt - permite que señales interrumpan llamadas al sistema
SINOPSIS¶
#include <signal.h>
int siginterrupt(int sig, int flag);
DESCRIPCIÓN¶
La función
siginterrupt() cambia el comportamiento de
reanudación cuando una señal
sig interrumpe una llamada al
sistema. Si el argumento
flag es falso (0), entonces las llamadas al
sistema se reanudarán si han sido interrumpidas por la señal
especificada en
sig. Éste es el comportamiento predeterminado en
Linux. Sin embargo, cuando se especifica un nuevo manejador de señal
mediante la función
signal(2), la llamada al sistema se interrumpe
de manera predeterminada.
Si el argumento
flags es verdad (distinto de cero, 1 por ejemplo) y no se
han transferido datos, cuando una señal
sig interrumpe una llamada
al sistema, ésta devolverá -1 y la variable global
errno
contendrá el valor
EINTR.
Si el argumento
flags es verdad y ha empezado la transferencia de datos,
entonces la llamada al sistema será interrumpida y devolverá la
cantidad real de datos transferidos.
VALOR DEVUELTO¶
La función
siginterrupt() devuelve 0 si acaba bien, ó -1 si el
número de señal
sig es inválido.
ERRORES¶
- EINVAL
- El número de señal especificado no es
válido.
BSD 4.3
VÉASE TAMBIÉN¶
signal(2)