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 setzt
errnoum 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 <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.- Nutzung
sigfillsetDie Funktion initialisiert das Signal-Set so, dass es alle Signale enthält. - Nutzung
sigdelsetDie Funktion löscht das Signal aus dem Signal-Set.SIGINTSignal. - Nutzung
sigismemberDie Funktion prüft, ob die Signalmenge enthältSIGINTSignal. - Die Ausgabe zeigt
SIGINTDas 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.