C-Bibliotheksfunktionen -sigdelset()

C-Standardbibliothek - <signal.h>

Beschreibung

sigdelsetDie Funktion ist eine Funktion in der C-Standardbibliothek, die verwendet wird, um ein bestimmtes Signal aus einer Signalmenge zu löschen. Diese Funktion ist definiert in<signal.h>In der Header-Datei.

Syntax

int sigdelset(sigset_t *set, int signo);

Parameter

  • sigset_t *set: zeigt auf einesigset_tEine Signalmenge-Variable vom Typ.
  • int signo: die Signalnummer, die aus der Signalmenge gelöscht werden soll.

Rückgabewert

  • Gibt bei Erfolg 0 zurück.
  • Gibt bei Fehler -1 zurück und setzterrnoum den Fehlertyp anzugeben.

Beispiel

Das Folgende ist ein Beispiel unter Verwendung vonsigdelsetEin Beispielprogramm für die Funktion zum Löschen eines bestimmten Signals aus einer Signalmenge. Das Programm initialisiert eine Signalmenge, die alle Signale enthält, und löscht dann aus der SignalmengeSIGINTSignal, und prüft, ob die Signalmenge enthältSIGINTSignal.

Beispiel

#include <stdio.h>
#include <signal.h>

int main() {
    sigset_t set;

    // Signalmenge initialisieren, die alle Signale enthält
    if (sigfillset(&set) == -1) {
        perror("sigfillset");
        return 1;
    }

    // SIGINT aus dem Signal-Set entfernen
    if (sigdelset(&set, SIGINT) == -1) {
        perror("sigdelset");
        return 1;
    }

    // Prüfen, ob das Signal-Set SIGINT enthält
    if (sigismember(&set, SIGINT)) {
        printf("SIGINT ist im Signal-Set\n");
    } else {
        printf("SIGINT ist nicht im Signal-Set\n");
    }

    return 0;
}

Eine mögliche Ausgabe beim Ausführen des obigen Beispielprogramms ist wie folgt:

SIGINT is not in the set

Das Programm initialisiert ein Signal-Set, das alle Signale enthält, und löscht dann aus dem Signal-SetSIGINTSignal, und prüft, ob die Signalmenge enthältSIGINTSignal, die Ergebnisse zeigen, dassSIGINTDas Signal ist nicht mehr im Signal-Set enthalten.

Erklärung

  • sigset_t set;: definiert eine Signal-Set-Variable.
  • NutzungsigfillsetDie Funktion initialisiert das Signal-Set so, dass es alle Signale enthält.
  • NutzungsigdelsetDie Funktion löscht das Signal aus dem Signal-Set.SIGINTSignal.
  • NutzungsigismemberDie Funktion prüft, ob die Signalmenge enthältSIGINTSignal.
  • Die Ausgabe zeigtSIGINTDas Signal wurde aus dem Signal-Set entfernt.

Hinweise

  • sigdelsetDie Funktion wird verwendet, um ein bestimmtes Signal aus einem Signal-Set zu löschen.
  • Wenn die Signalnummer ungültig ist,sigdelsetdie Funktion gibt -1 zurück und setzterrnoum den Fehlertyp anzugeben.

C-Standardbibliothek - <signal.h>

Weitere Erweiterungen