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éfiniterrnopour 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 <stdio.h>
#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.
  • UtilisationsigfillsetLa fonction initialise l'ensemble de signaux pour qu'il contienne tous les signaux.
  • UtilisationsigdelsetLa fonction supprime le signal de l'ensemble de signaux.SIGINTsignal.
  • UtilisationsigismemberLa fonction vérifie si l'ensemble de signaux contientSIGINTsignal.
  • La sortie montreSIGINTLe 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.

Bibliothèque standard C - <signal.h>

autres extensions