siginterrupt - permite que señales interrumpan llamadas al sistema
Biblioteca Estándar C (
libc,
-lc)
#include <signal.h>
int siginterrupt(int sig, int flag);
siginterrupt():
_XOPEN_SOURCE >= 500
|| /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
|| /* glibc <= 2.19: */ _BSD_SOURCE
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.
Si el argumento
flag 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
errno
contendrá el valor
EINTR.
Si el argumento
flag es verdad y ha empezado la transferencia de datos,
entonces la llamada al sistema será interrumpida y devolverá la
cantidad real de datos transferidos.
The
siginterrupt() function returns 0 on success. It returns -1 if the
signal number
sig is invalid, with
errno set to indicate the
error.
- EINVAL
- El número de señal especificado no es
válido.
Para obtener una explicación de los términos usados en esta
sección, véase
attributes(7).
Interfaz |
Atributo |
Valor |
siginterrupt() |
Seguridad del hilo |
MT-Unsafe const:sigintr |
4.3BSD, POSIX.1-2001. POSIX.1-2008 marks
siginterrupt() as obsolete,
recommending the use of
sigaction(2) with the
SA_RESTART flag
instead.
signal(2)
La traducción al español de esta página del manual fue
creada por Gerardo Aburruzaga García <
[email protected]>
Esta traducción es documentación libre; lea la
GNU
General Public License Version 3 o posterior con respecto a las
condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.
Si encuentra algún error en la traducción de esta página
del manual, envíe un correo electrónico a
[email protected]