SIGINTERRUPT(3)

NOM
siginterrupt - Permettre aux signaux d'interrompre les appels système

SYNOPSIS
#include <signal.h>

int siginterrupt(int sig, int flag);

Exigences de macros de test de fonctionnalités pour la glibc (voir feature_test_macros(7)) :

siginterrupt() : _BSD_SOURCE || _XOPEN_SOURCE >= 500

DESCRIPTION
La fonction siginterrupt() modifie le comportement d'un appel système interrompu par le signal sig. Si l'argument flag vaut zéro, l'appel système recommencera après la réception d'un signal sig. C'est le comportement par défaut sous Linux. Néanmoins, quand un nouveau gestionnaire de signaux est installé avec la fonction signal(2), l'appel système est interrompu par défaut.

Si l'argument flag vaut 1 et qu'aucun transfert de données n'a commencé, un appel système interrompu par le signal sig renverra -1 et la variable globale errno contiendra le code d'erreur EINTR.

Si flag vaut 1, et si un transfert de données a commencé, alors l'appel système interrompu renverra le nombre réel de données transférées.

VALEUR RENVOYÉE
La fonction siginterrupt() renvoie 0 si elle réussit, ou -1 si le numéro de signal sig n'est pas valide.

ERREURS

EINVAL
    Le numéro de signal indiqué n'est pas valide.

CONFORMITÉ
BSD 4.3, POSIX.1-2001.

VOIR AUSSI
signal(2)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 7 novembre 1996 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 siginterrupt ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.