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 6.8 |