table of contents
- unstable 4.30.2-1
| sigsuspend(2) | System Calls Manual | sigsuspend(2) |
NAVN¶
sigsuspend, rt_sigsuspend - vent på et signal
BIBLIOTEK¶
Standard C library (libc, -lc)
SYNOPSIS¶
#include <signal.h>
int sigsuspend(const sigset_t *mask);
sigsuspend():
_POSIX_C_SOURCE
BESKRIVELSE¶
sigsuspend() erstatter midlertidigt signalmasken for den kaldende tråd med masken angivet af mask og suspenderer så tråden indtil levering af et signal hvis handling er at igangsætte en signalhåndtering eller afslutte en proces.
Hvis signalet afslutter processen, så returnerer sigsuspend() ikke. Hvis signalet fanges, så returnerer sigsuspend() efter signalhåndteringen returnerer, og signalmasken gendannes i tilstanden før kaldet til sigsuspend().
Det er ikke muligt at blokere SIGKILL eller SIGSTOP; angivelse af disse signaler i mask, har ingen effekt på trådens signalmaske.
RETURVÆRDI¶
sigsuspend() returnerer altid -1, med errno angivet for at indikere fejlen (normalt EINTR).
FEJL¶
STANDARDER¶
POSIX.1-2024.
HISTORIK¶
POSIX.1-2001.
C-bibliotek/kerne-forskelle¶
Det oprindelige Linuxsystemkald blev navngivet sigsuspend(). Med tilføjelsen af realtids signaler i Linux 2.2 var 32-bit sigset_t-type med fast længde understøttet af det systemkald ikke længere passende for formålet. Et nyt systemkald rt_sigsuspend() blev derfor tilføjet for at understøtte en forstørret sigset_t-type. Det nye systemkald bruger et ektra argument, size_t sigsetsize, der angiver størrelsen i byte for signalsættet i mask. Dette argumnet er i øjeblikket krævet med værdien sizeof(sigset_t) (hvis ikke følger fejlen EINVAL). Glibc-omslagsfunktionen sigsuspend() skjuler disse detaljer for os, og kalder gennemsigtigt rt_sigsuspend() når kernen tilbyder denne.
NOTER¶
Normalt bruges sigsuspend() sammen med sigprocmask(2) for at forhindre levering af et signal under afviklingen af en kritisk kodesektion. Kalderen blokerer først signalerne med sigprocmask(2). Når den kritiske kode er færdig, så venter kalderen på signalerne ved at kalde sigsuspend() med signalmasken der blev returneret af sigprocmask(2) (i argumentet oldset).
Se sigsetops(3) for detaljer om manipulaton af signalsæt.
SE OGSŶ
kill(2), pause(2), sigaction(2), signal(2), sigprocmask(2), sigwaitinfo(2), sigsetops(3), sigwait(3), signal(7)
OVERSÆTTELSE¶
Oversættere af denne manual til dansk Joe Hansen <joedalton2@yahoo.dk>
Denne oversættelse er gratis dokumentation; læs GNU General Public License version 3 eller nyere for ophavsretbetingelser. Der er INGEN ANSVAR.
Hvis du støder på fejl i oversættelsen af denne vejledning, skal du sende en besked til debian-l10n-danish@lists.debian.org.
| 8. februar 2026 | Linux man-pages 6.18 |