Scroll to navigation

timer_settime(2) System Calls Manual timer_settime(2)

NAVN

timer_settime, timer_gettime - bevæbne og afvæbne samt hente tilstand for POSIX per proces-stopur

BIBLIOTEK

Real-time library (librt-lrt)

SYNOPSIS

#include <time.h>
int timer_gettime(timer_t timerid, struct itimerspec *nuv_værdi);
int timer_settime(timer_t timerid, int flag,
                  const struct itimerspec *restrict ny_værdi,
                  struct itimerspec *_Nullable restrict gl_værdi);

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

timer_settime(), timer_gettime():


_POSIX_C_SOURCE >= 199309L

BESKRIVELSE

timer_settime() bevæbner eller afvæbner stopuret identificeret af timerid. Argumentet ny_værdi er en peger på en itimerspec-struktur der specificerer den nye oprindelige værdi og det nye interval for stopuret. Strukturen itimerspec er beskrevet i itimerspec(3type).

Hver af understrukturerne for strukturen itimerspec er en timespec(3)-struktur, der gør det muligt for en tidsværdi at blive angivet i sekunder og nanosekunder. Disse tidsværdier måles jævnfør uret, der blev angivet, da stopuret blev oprettet af timer_create(2).

Hvis ny_værdi->it_value specificerer en værdi forskellig fra nul (dvs. intet underfelt er forskellig fra nul), så bevæbner (starter) timer_settime() stopuret, sætter det til det oprindelig udløb på det givne tidspunkt. (Hvis stopuret allerede var bevæbnet, så bliver de tidligere indstillinger overskrevet). Hvis ny_værdi->it_value specificerer en nul-værdi (dvs. begge underfelter er nul), så afvæbnes stopuret.

Feltet ny_værdi->it_interval specificerer perioden for stopuret, i sekunder og nanosekunder. Hvis dette felt er forskellig fra nul, så genindlæses stopuret hver gang et bevæbnet stopur udløber, fra værdien specificeret i ny_værdi->it_interval. Hvis ny_værdi->it_interval specificerer en nul-værdi, så udløber stopuret bare en gang, på tidspunktet specificeret af it_value.

Som standard fortolkes den oprindelige udløbstid angivet i ny_værdi->it_value relativt til det nuværende tidspunkt på stopuret på tidspunktet for kaldet. Dette kan ændres ved at angive TIMER_ABSTIME i flag, hvormed ny_værdi->it_value fortolkes som en absolut værdi som målt på stopuret; det vil sige, at stopuret vil udløse når urværdien når værdien angivet af ny_værdi->it_value. Hvis den angivne absolutte tid allerede er forløbet, så udløber stopuret øjeblikkeligt og overløbsantallet (se timer_getoverrun(2)) vil blive angivet korrekt.

Hvis værdien for uret CLOCK_REALTIME justeres mens et absolut stopur baeret på det ur bevæbnes så vil udløbet for stopuret blive justeret på passende vis. Justeringer til uret CLOCK_REALTIME har ingen effekt på relative stopure baseret på det ur.

If gl_værdi ikke er NULL, så peger den på et mellemlager, der bruges til at returnere det tidligere interval for stopuret (i gl_værdi->it_interval) og mængden af tid indtil stopuret tidligere ville have udløbet (i gl_værdi->it_value).

timer_gettime() returnerer tidspunktet indtil næste udløb, og intervallet for stopuret angivet af timerid, i mellemlageret pegende på af nuv_værdi. Tiden tilbage indtil det næste stopur udløber returneres i nuv_værdi->it_value; dette er altid en relativ værdi, uanset om flaget TIMER_ABSTIME blev brugt under bevæbning af stopuret. Hvis værdien returneret i nuv_værdi->it_value er nul, så afvæbnes stopuret i øjeblikket. Stopursintervallet returneres i nuv_værdi->it_interval. Hvis værdien returneret i nuv_værdi->it_interval er nul, så er dette et »et skuds« stopur.

RETURVÆRDI

Ved succes returnerer timer_settime() og timer_gettime() 0. Ved fejl returneres -1 og errno angives for at indikere fejlen.

FEJL

Disse funktioner kan fejl med de følgende fejl:

ny_værdi, gl_værdi eller nuv_værdi er ikke en gyldig peger.
timerid er ugyldig.

timer_settime() kan fejle med de følgende fejl:

new_value.it_value er negativ; eller new_value.it_value.tv_nsec er negativ eller større end 999.999.999.

STANDARDER

POSIX.1-2024.

HISTORIK

Linux 2.6. POSIX.1-2001.

EKSEMPLER

Se timer_create(2).

SE OGSÅ

timer_create(2), timer_getoverrun(2), timespec(3), time(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.

29. oktober 2025 Linux man-pages 6.17