Ubuntu Manpages

sigreturn

Rückkehr vom Signal Handler und Aufräumen des Stacks

ÜBERSICHT

int sigreturn(unsigned long __unused);

Wenn der Linux-Kernel einen Eintrag für einen Signal Handler im Stack ablegt, wird in den Eintrag ein Aufruf von sigreturn() eingebaut, sodass nach der Rückkehr vom Signal Handler sigreturn() aufgerufen wird.

Dieser Aufruf von sigreturn() macht alle Aktionen für den Aufruf des Signal Handlers - die Änderung der Signalmaske des Prozesses, Umschalten der Stacks (siehe sigaltstack(2)) - rückgängig: Er stellt die Signalmaske des Prozesses wieder her, schaltet die Stacks um und stellt den Prozesskontext (Register, Prozessor-Flags) wieder her, sodass die Ausführung des Prozesses genau an dem Punkt fortgesetzt wird, wo er von dem Signal unterbrochen wurde.

sigreturn() kehrt nie zurück.

/usr/src/linux/arch/i386/kernel/signal.c
/usr/src/linux/arch/alpha/kernel/entry.S

sigreturn() ist Linux-spezifisch und sollte nicht verwendet werden, wenn Sie portable Programme schreiben wollen.

Die Funktion sigreturn() wird dazu benutzt, Signal Handler für den Kernel zu implementieren. Sie sollte niemals direkt aufgerufen werden. Darüber hinaus variiert die Benutzung des Argumentes __unused mit der benutzten Rechnerarchitektur.

kill(2), restart_syscall(2), sigaltstack(2), signal(2), signal(7)

This page is part of release 3.54 of the Linux man-pages project. A description of the project, and information about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von René Tschirley <gremlin@cs.tu-berlin.de>, Martin Schulze <joey@infodrom.org>, Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> 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 <debian-l10n-german@lists.debian.org>.