.\" -*- coding: UTF-8 -*- .\" Copyright (C) 2008, 2014, Michael Kerrisk .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\" Created Sat Aug 21 1995 Thomas K. Dyas .\" Modified Tue Oct 22 22:09:03 1996 by Eric S. Raymond .\" 2008-06-26, mtk, added some more detail on the work done by sigreturn() .\" 2014-12-05, mtk, rewrote all of the rest of the original page .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH sigreturn 2 "5 februari 2023" "Linux man\-pagina's 6.03" .SH NAAM sigreturn, rt_sigreturn \- keer terug uit signaal verwerker en maak de stapel schoon .SH BIBLIOTHEEK Standard C bibliotheek (\fIlibc\fP, \fI\-lc\fP) .SH SAMENVATTING .nf \fBint sigreturn(...);\fP .fi .SH BESCHRIJVING .\" See arch/x86/kernel/signal.c::__setup_frame() [in Linux 3.17 source code] Als de Linux kernel detecteert dat een niet\-geblokkeerd signaal in afwachting is van een proces, dan, zal bij de volgende overgang terug naar de gebruikers mode van dat process (b.v. bij terugkeer van een systeem aanroep of wanneer het proces werd verplaatst naar de CPU), het een nieuw frame aanmaken op de stapel van de gebruiker\-ruimte waarin het diverse onderdelen van de proces context bewaard (processor status woord, registers, signaal masker en signaal instellingen). .PP De kernel zorgt er ook voor dat bij de terugkeer naar de gebruikers mode, dat de signaal verwerker wordt aangeroepen, en dat, bij terugkeer uit de verwerker, de controle wordt doorgegeven naar een onderdeel van de gebruikers\-ruimte code, veelal aangeduid als "de signaal trampoline". De signaal trampoline code op zijn beurt roept \fBsignreturn\fP() aan. .PP Deze \fBsigreturn\fP() aanroep maakt alles ongedaan dat was gedaan\[em]veranderen van het proces signaal masker, veranderen van signaal stapel (zie \fBsignmalstack\fP(2))\[em]om de signaal verwerker aan te roepen. Gebruik makend van de informatie die eerder werd bewaard op de stack van de gebruikers\-ruimte herstelt \fBsigreturn\fP() het masker van het signaal van het proces, schakelt tussen stapels, en herstelt de processor context (processor vlaggen en registers, inclusief de stapel\- en instructie wijzers), zodat het proces de executie hervat vanaf het punt waar het werd onderbroken door het signaal . .SH "EIND WAARDE" \fBsigreturn\fP() keert nooit terug. .SH "VOLDOET AAN" Veel UNIX\-achtige systemen hebben een \fBsigreturn\fP() systeem aanroep of een bijna equivalent. Echter, deze aanroep is niet gespecificeerd in POSIX en details van zijn gedrag variëren van systeem tot systeem. .SH OPMERKINGEN .\" See sysdeps/unix/sysv/linux/sigreturn.c and .\" signal/sigreturn.c in the glibc source \fBsigreturn\fP() bestaat alleen om de implementatie van signaal verwerkers mogelijk te maken. Hij moet \fBnooit\fP direct aangeroepen worden. (Inderdaad, een eenvoudige \fBsigreturn\fP() omwikkel functie in de GNU C\-bibliotheek retourneert eenvoudigweg \-1, met \fIerrno\fP gezet op \fBENOSYS\fP.) Details over de argumenten (als er al een is) meegegeven aan \fBsigreturn\fP() variëren afhankelijk van de architectuur. (Op sommige architecturen, zoals de x86\-64 heeft \fBsigreturn\fP() geen argument, omdat alle benodigde informatie beschikbaar is op de stapel die eerder werd gecreëerd door de kernel op de stapel in de gebruikers\-ruimte. .PP .\" See, for example, sysdeps/unix/sysv/linux/i386/sigaction.c and .\" sysdeps/unix/sysv/linux/x86_64/sigaction.c in the glibc (2.20) source. Ooit plaatsten UNIX systemen de code van de signaal trampoline op de gebruiker stapel. Tegenwoordig worden pagina´s van de gebruiker stapel beschermd tegen het uitvoeren van code. Op hedendaagse Linux systemen leeft daarom, afhankelijk van de architectuur, de signaal trampoline code ofwel in de \fBvdso\fP(7) of in de C\-bibliotheek. In het laatste geval informeert de bibliotheek \fBsigaction\fP(2) omwikkel functie de kernel over de locatie van de trampoline code door het plaatsen van het adres in het \fIsa_restorer\fP veld van de \fIsigaction\fP structure, en zet de \fBSA_RESTORER\fP vlag in het \fIsa_flags\fP veld. .PP De opgeslagen proces context informatie wordt geplaatst in een \fIucontext_t\fP structure (zie \fI\fP). Deze structure is zichtbaar in de signaal verwerker als het derde argument van de verwerker zoals gevestigd door \fBsigaction\fP(2) met de \fBSA_SIGINFO\fP vlag. .PP .\" Op een aantal andere UNIX systemen, verschilt de werking van de signaal trampoline een beetje. In het bijzonder, op sommige systemen zal de kernel bij de terugkeer uit gebruiker mode, de controle doorgeven naar de trampoline (in plaats van de signaal verwerker), en de trampoline code roept de signaal verwerker aan (en roept vervolgens \fBsigreturn\fP() aan wanneer de verwerker terugkeert). .SS "C library/kernel verschillen" .\" De originele Linux systeem aanroep heette \fBsigreturn\fP(). Echter, na de toevoeging van echt\-tijd signalen in Linux 2.2, werd een nieuwe systeem aanroep, \fBrt_sigreturn\fP() toegevoegd om een vergroot \fIsigset_t\fP type te ondersteunen. De GNU C bibliotheek verbergt deze details voor ons, daarbij transparant gebruikmakend van \fBrt_sigreturn\fP() wanneer de kernel hierin voorziet. .SH "ZIE OOK" \fBkill\fP(2), \fBrestart_syscall\fP(2), \fBsigaltstack\fP(2), \fBsignal\fP(2), \fBgetcontext\fP(3), \fBsignal\fP(7), \fBvdso\fP(7) .PP .SH VERTALING De Nederlandse vertaling van deze handleiding is geschreven door Jos Boersema , Mario Blättermann en Luc Castermans . .PP Deze vertaling is vrije documentatie; lees de .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE of later over de Copyright-voorwaarden. Er is geen AANSPRAKELIJKHEID. .PP Indien U fouten in de vertaling van deze handleiding zou vinden, stuur een e-mail naar .MT debian-l10n-dutch@lists.debian.org .ME .