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);

    Feature Test Macro Requirements for glibc (se feature_test_macros(7)):

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

EFAULT
    mask peger mod hukommelse der ikke er en gyldig del af procesadresserummet.

EINTR
    Kaldet blev afbrudt af et signal; signal(7).

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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.