timer_getoverrun(2) System Calls Manual timer_getoverrun(2) NAVN timer_getoverrun - hent overlobsantal for et POSIX per proces-stopur BIBLIOTEK Real-time library (librt, -lrt) SYNOPSIS #include int timer_getoverrun(timer_t timerid); Feature Test Macro Requirements for glibc (se feature_test_macros(7)): timer_getoverrun(): _POSIX_C_SOURCE >= 199309L BESKRIVELSE timer_getoverrun() returnerer >>overlobsantallet<< (overrun count) for stopuret refereret til af timerid. Et program kan bruge overlobsantallet til praecist at beregne antallet af stopursudlob, der ville vaere sket over et tidsinterval. Stopursoverlob kan opsta bade under modtagelse af udlobspamindelser via signaler (SIGEV_SIGNAL), og via trade (SIGEV_THREAD). Nar udlobspamindelser leveres via et signal kan overlob opsta som en folge. Uanset om et realtids signal bruges for stopurspamindelser, sa saetter systemet mindst et signal per stopur i ko. (Dette er opforelsen anfort af POSIX.1. Alternativet at lave en ko for et signal for hver stopursudlob kan nemt medfore mere end de tilladte begraensninger for signaler i ko pa systemet). Pa grund af systemplanlaegningsforsinkelser eller fordi signalet kan vaere midlertidigt blokeret, kan der vaere en forsinkelse mellem tiden hvor pamindelsessignalet oprettes og tiden hvor det leveres (f.eks. fanget af en signalhandtering) eller accepteret (f.eks. via sigwaitinfo(2)). I dette interval kan yderligere stopursudlob opsta. Stopurets overlobantal er antallet af yderligere stopursudlob, der opstod mellem tiden hvor signalet blev oprettet og det blev leveret eller accepteret. Stopursoverlob kan ogsa opsta nar udlobspamindelser leveres via igangsaettelse af en tard, da der kan vaere en arbitraer forbinkelse mellem et udlob for et stopur og igangsaettelse af pamindelsestraden, og i det forsinkelsesinterval, kan yderligere stopursudlob opsta. RETURVAERDI Ved succes returnerer timer_getoverrun() overlobsantallet for det angivne stopur; dette antal kan vaere 0 hvis ingen overlob er opstaet. Ved fejl returneres -1 og errno angives for at indikere fejlen. FEJL EINVAL timerid er ikke et gyldigt timer-id. VERSIONER Nar stopurspamindelser leveres via signaler (SIGEV_SIGNAL), er det pa Linux altid muligt at indhente overlobsantallet via feltet si_overrun for strukturen siginfo_t (se sigaction(2)). Dette gor det muligt for et program at undga belastningen med at lave et systemkald for at indhente overlobsantallet, men er en ikkeflytbar udvidelse til POSIX.1. POSIX.1 diskuterer kun stopursoverlob i konteksten af stopurspamindelser, der bruger signaler. STANDARDER POSIX.1-2024. HISTORIK Linux 2.6. POSIX.1-2001. FEJL POSIX.1 specifies that if the timer overrun count is equal to or greater than an implementation-defined maximum, DELAYTIMER_MAX, then timer_getoverrun() should return DELAYTIMER_MAX. However, before Linux 4.19, if the timer overrun value exceeds the maximum representable integer, the counter cycles, starting once more from low values. Since Linux 4.19, timer_getoverrun() returns DELAYTIMER_MAX (defined as INT_MAX in ) in this case (and the overrun value is reset to 0). EKSEMPLER Se timer_create(2). SE OGSA clock_gettime(2), sigaction(2), signalfd(2), sigwaitinfo(2), timer_create(2), timer_delete(2), timer_settime(2), signal(7), time(7) OVERSAETTELSE Oversaettere af denne manual til dansk Joe Hansen Denne oversaettelse er gratis dokumentation; laes GNU General Public License version 3 eller nyere for ophavsretbetingelser. Der er INGEN ANSVAR. Hvis du stoder pa fejl i oversaettelsen af denne vejledning, skal du sende en besked til . Linux man-pages 6.17 29. oktober 2025 timer_getoverrun(2)