SIGINTERRUPT(3)

NOMBRE
siginterrupt - permite que señales interrumpan llamadas al sistema

SINOPSIS
#include <signal.h>

int siginterrupt(int sig, int flag);

    Requisitos de Macros de Prueba de Características para glibc (véase feature_test_macros(7)):

siginterrupt():
    _XOPEN_SOURCE >= 500
        || /* Since glibc 2.12: */ _POSIX_C_SOURCE >= 200809L
        || /* Glibc versions <= 2.19: */ _BSD_SOURCE

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.

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.

VALOR DEVUELTO
The siginterrupt() function returns 0 on success. It returns -1 if the signal number sig is invalid, with errno set to indicate the cause of the error.

ERRORES

EINVAL
    El número de señal especificado no es válido.

ATRIBUTOS
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

CONFORME A
4.3BSD, POSIX.1-2001. POSIX.1-2008 marks siginterrupt() as obsolete, recommending the use of sigaction(2) with the SA_RESTART flag instead.

VÉASE TAMBIÉN
signal(2)

COLOFÓN
Esta página es parte de la versión 5.10 del proyecto Linux man-pages. Puede encontrar una descripción del proyecto, información sobre cómo informar errores y la última versión de esta página en https://www.kernel.org/doc/man-pages/.

TRADUCCIÓN
La traducción al español de esta página del manual fue creada por Gerardo Aburruzaga García <gerardo.aburruzaga@uca.es> Esta traducción es documentación libre; lea la GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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 debian-l10n-spanish@lists.debian.org>..