Provided by: manpages-ro-dev_4.27.0-1_all bug

NUME

       timer_getoverrun - obține numărul de depășiri al temporizatorului POSIX al unui proces

BIBLIOTECA

       Biblioteca de timp real (librt, -lrt)

SINOPSIS

       #include <time.h>

       int timer_getoverrun(timer_t timerid);

   Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

       timer_getoverrun():
           _POSIX_C_SOURCE >= 199309L

DESCRIERE

       timer_getoverrun()  returnează  „numărul de depășiri” pentru temporizatorul la care se face referire prin
       timerid.  O aplicație poate utiliza numărul de depășiri pentru a calcula cu precizie numărul de  expirări
       ale  temporizatorului  care  ar  fi avut loc într-un anumit interval de timp.  Depășirea temporizatorului
       poate avea loc atât la primirea notificărilor de expirare prin intermediul semnalelor (SIGEV_SIGNAL), cât
       ș i prin intermediul firelor de execuție (SIGEV_THREAD).

       Atunci când notificările de expirare sunt transmise prin intermediul unui semnal, se pot produce depășiri
       după cum urmează.  Indiferent dacă se utilizează sau nu un semnal în timp  real  pentru  notificările  de
       temporizare,  sistemul  pune  în  coadă  cel  mult  un  semnal pentru fiecare temporizator.  (Acesta este
       comportamentul specificat de POSIX.1.  Alternativa, de a pune la coadă un semnal pentru fiecare  expirare
       a  temporizatorului,  ar  putea  duce cu ușurință la depășirea limitelor permise pentru semnalele puse la
       coadă în sistem).  Din cauza întârzierilor de planificare a sistemului sau pentru că  semnalul  poate  fi
       blocat  temporar, poate exista o întârziere între momentul în care semnalul de notificare este generat și
       momentul în care este livrat (de exemplu, prins de un gestionar de  semnal)  sau  acceptat  (de  exemplu,
       utilizând  sigwaitinfo(2)).   În  acest  interval,  pot  avea  loc  alte  expirări  ale temporizatorului.
       Numărătoarea depășirii temporizatorului este numărul de expirări suplimentare ale  temporizatorului  care
       au  avut  loc  între  momentul  în  care  semnalul a fost generat și momentul în care a fost transmis sau
       acceptat.

       De asemenea, se pot produce depășiri ale temporizatorului  atunci  când  notificările  de  expirare  sunt
       transmise  prin  invocarea  unui  fir,  deoarece  poate  exista  o  întârziere  arbitrară între expirarea
       temporizatorului și invocarea firului de notificare, iar în  acest  interval  de  întârziere  pot  apărea
       expirări suplimentare ale temporizatorului.

VALOAREA RETURNATĂ

       În  caz  de  succes,  timer_getoverrun()  returnează numărul de depășiri ale temporizatorului specificat;
       acest număr poate fi 0 dacă nu au avut loc depășiri.  În caz de eșec, se returnează -1,  iar  errno  este
       configurată pentru a indica eroarea.

ERORI-IEȘIRE

       EINVAL id-cronometru nu este un ID de cronometru valid.

VERSIUNI

       Atunci  când  notificările  de temporizator sunt transmise prin intermediul semnalelor (SIGEV_SIGNAL), pe
       Linux este posibilă și obținerea numărului de depășiri prin intermediul câmpului si_overrun din structura
       siginfo_t (a se vedea sigaction(2)).  Acest lucru permite unei aplicații să evite costurile  suplimentare
       legate  de  efectuarea  unui  apel  de  sistem  pentru  a obține numărul de depășiri, dar este o extensie
       neportabilă la POSIX.1.

       POSIX.1 discută despre depășirea temporizatoarelor numai în  contextul  notificărilor  de  temporizatoare
       care utilizează semnale.

STANDARDE

       POSIX.1-2008.

ISTORIC

       Linux 2.6.  POSIX.1-2001.

ERORI

       POSIX.1  specifică  faptul că, dacă numărul de depășiri ale temporizatorului este egal sau mai mare decât
       un maxim  definit  de  implementare,  DELAYTIMER_MAX,  atunci  timer_getoverrun()  trebuie  să  returneze
       DELAYTIMER_MAX.   Cu  toate  acestea,  înainte  de  Linux  4.19,  în cazul în care valoarea de depășire a
       temporizatorului depășește numărul întreg maxim reprezentabil, contorul se  repornește,  pornind  încă  o
       dată de la valori scăzute.  Începând cu Linux 4.19, timer_getoverrun() returnează DELAYTIMER_MAX (definit
       ca INT_MAX în <limits.h>) în acest caz (iar valoarea de depășire este readusă la 0).

EXEMPLE

       A se vedea timer_create(2).

CONSULTAȚI ȘI

       clock_gettime(2),    sigaction(2),   signalfd(2),   sigwaitinfo(2),   timer_create(2),   timer_delete(2),
       timer_settime(2), signal(7), time(7)

TRADUCERE

       Traducerea   în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel    Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3 sau o
       versiune  ulterioară  cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se   asumă   NICIO
       RESPONSABILITATE.

       Dacă  găsiți  erori  în  traducerea  acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.9.1                    2 mai 2024                                timer_getoverrun(2)