sigpending(2) | System Calls Manual | sigpending(2) |
BEZEICHNUNG¶
sigpending, rt_sigpending - Anhängende Signale untersuchen
BIBLIOTHEK¶
Standard-C-Bibliothek (libc, -lc)
ÜBERSICHT¶
#include <signal.h>
int sigpending(sigset_t *Gruppe);
sigpending():
_POSIX_C_SOURCE
BESCHREIBUNG¶
sigpending() liefert die Gruppe von Signalen zurück, die zur Auslieferung an den aufrufenden Thread anhängen (d.h. die Signale, die während der Blockierung ausgelöst wurden). Die Maske der anhängenden Signale wird in Gruppe zurückgeliefert.
RÜCKGABEWERT¶
sigpending() liefert im Erfolgsfall 0 zurück. Beim Fehlschlag wird -1 zurückgeliefert und errno gesetzt, um den Fehler anzuzeigen.
FEHLER¶
- EFAULT
- Gruppe zeigt auf Speicher, der keinen gültigen Teil des Adressbereichs des Prozesses ist.
STANDARDS¶
POSIX.1-2008.
GESCHICHTE¶
POSIX.1-2001.
Unterschiede C-Bibliothek/Kernel¶
Der ursprüngliche Linux-Systemaufruf hieß sigpending(). Mit der Hinzunahme der Echtzeitsignale in Linux 2.2 passte allerdings das durch den Systemaufruf unterstützte 32-bit Argument sigset_t fester Größe nicht mehr. Konsequenterweise wurde ein neuer Systemaufruf rt_sigpending() hinzugefügt, um einen vergrößerten Typ sigset_t zu unterstützen. Der neue Systemaufruf akzeptiert ein zweites Argument size_t sigsetsize, der die Größe der Signalgruppe in Gruppe festlegt. Die Glibc-Wrapper-Funktion sigpending() versteckt diese Details und ruft transparent rt_sigpending() auf, wenn der Kernel dies bereitstellt.
ANMERKUNGEN¶
Siehe sigsetops(3) für Details über das Bearbeiten von Signalgruppen.
Falls ein Signal sowohl blockiert ist als auch eine Disposition »ignoriert« trägt, wird es bei der Erstellung nicht zu der Maske der anhängenden Signale hinzugefügt.
Die Gruppe der Signale die für einen Thread anhängig sind ist die Vereinigung der Gruppen von Signalen, die für diesen Thread anhängig sind und der Gruppe an Signalen, die für den Prozess als ganze anhängig sind, siehe signal(7).
Ein mittels fork(2) erstellter Kindprozess hat anfänglich eine leere anhängende Signalgruppe; die anhängende Signalgruppe wird über execve(2) hinweg erhalten.
FEHLER¶
Bis zu und einschließlich Glibc 2.2.1 gibt es einen Fehler in der Wrapper-Funktion für sigpending(), der dazu führt, dass die Information über anhängige Echtzeitsignale nicht korrekt zurückgeliefert wird.
SIEHE AUCH¶
kill(2), sigaction(2), signal(2), sigprocmask(2), sigsuspend(2), sigsetops(3), signal(7)
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.
2. Mai 2024 | Linux man-pages (unveröffentlicht) |