| 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);
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:
timer_settime() kan fejle med de følgende fejl:
- EINVAL
- 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Ŷ
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 |