Fonctions de la bibliothèque C -sigdelset()
Bibliothèque standard C - <signal.h>
Description
sigdelsetLa fonction est une fonction de la bibliothèque standard C, utilisée pour supprimer un signal spécifique d'un ensemble de signaux. Cette fonction est définie dans<signal.h>Dans le fichier d'en-tête.
Syntaxe
int sigdelset(sigset_t *set, int signo);
Paramètre
sigset_t *set: pointe vers unsigset_tUne variable de type ensemble de signaux.int signo: le numéro de signal à supprimer de l'ensemble de signaux.
Valeur de retour
- Renvoie 0 en cas de succès.
- Renvoie -1 en cas d'échec et définit
errnopour indiquer le type d'erreur.
Exemple
Ce qui suit est un exemple utilisantsigdelsetUn exemple de programme pour la fonction permettant de supprimer un signal spécifique d'un ensemble de signaux. Le programme initialise un ensemble de signaux contenant tous les signaux, puis supprime de l'ensemble de signauxSIGINTsignal, et vérifie si l'ensemble de signaux contientSIGINTsignal.
Exemple
#include <signal.h>
int main() {
sigset_t set;
// Initialiser l'ensemble de signaux, contenant tous les signaux
if (sigfillset(&set) == -1) {
perror("sigfillset");
return 1;
}
// Supprimer SIGINT de l'ensemble de signaux
if (sigdelset(&set, SIGINT) == -1) {
perror("sigdelset");
return 1;
}
// Vérifier si l'ensemble de signaux contient SIGINT
if (sigismember(&set, SIGINT)) {
printf("SIGINT est dans l'ensemble\n");
} else {
printf("SIGINT n'est pas dans l'ensemble\n");
}
return 0;
}
Une sortie possible de l'exécution du programme d'exemple ci-dessus est la suivante :
SIGINT is not in the set
Le programme initialise un ensemble de signaux contenant tous les signaux, puis en supprimeSIGINTsignal, et vérifie si l'ensemble de signaux contientSIGINTsignal, les résultats montrent queSIGINTLe signal n'est plus dans l'ensemble de signaux.
Explication
sigset_t set;: définit une variable d'ensemble de signaux.- Utilisation
sigfillsetLa fonction initialise l'ensemble de signaux pour qu'il contienne tous les signaux. - Utilisation
sigdelsetLa fonction supprime le signal de l'ensemble de signaux.SIGINTsignal. - Utilisation
sigismemberLa fonction vérifie si l'ensemble de signaux contientSIGINTsignal. - La sortie montre
SIGINTLe signal a été supprimé de l'ensemble de signaux.
Notes
sigdelsetLa fonction est utilisée pour supprimer un signal spécifique d'un ensemble de signaux.- Si le numéro de signal est invalide,
sigdelsetla fonction retournera -1, et définiterrnopour indiquer le type d'erreur.