.\" -*- coding: UTF-8 -*- .\" Copyright (c) 2009 Linux Foundation, written by Michael Kerrisk .\" .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH timer_getoverrun 2 "2 mai 2024" "Pagini de manual de Linux 6.9.1" .SH NUME timer_getoverrun \- obține numărul de depășiri al temporizatorului POSIX al unui proces .SH BIBLIOTECA Biblioteca de timp real (\fIlibrt\fP, \fI\-lrt\fP) .SH SINOPSIS .nf \fB#include \fP .P \fBint timer_getoverrun(timer_t \fP\fItimerid\fP\fB);\fP .fi .P .RS -4 Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați \fBfeature_test_macros\fP(7)): .RE .P \fBtimer_getoverrun\fP(): .nf _POSIX_C_SOURCE >= 199309L .fi .SH DESCRIERE \fBtimer_getoverrun\fP() returnează „numărul de depășiri” pentru temporizatorul la care se face referire prin \fItimerid\fP. 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 (\fBSIGEV_SIGNAL\fP), cât ș i prin intermediul firelor de execuție (\fBSIGEV_THREAD\fP). .P 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 \fBsigwaitinfo\fP(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. .P 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. .SH "VALOAREA RETURNATĂ" În caz de succes, \fBtimer_getoverrun\fP() 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 \fIerrno\fP este configurată pentru a indica eroarea. .SH ERORI\-IEȘIRE .TP \fBEINVAL\fP \fIid\-cronometru\fP nu este un ID de cronometru valid. .SH VERSIUNI Atunci când notificările de temporizator sunt transmise prin intermediul semnalelor (\fBSIGEV_SIGNAL\fP), pe Linux este posibilă și obținerea numărului de depășiri prin intermediul câmpului \fIsi_overrun\fP din structura \fIsiginfo_t\fP (a se vedea \fBsigaction\fP(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. .P .\" FIXME . Austin bug filed, 11 Feb 09 .\" https://www.austingroupbugs.net/view.php?id=95 POSIX.1 discută despre depășirea temporizatoarelor numai în contextul notificărilor de temporizatoare care utilizează semnale. .SH STANDARDE POSIX.1\-2008. .SH ISTORIC Linux 2.6. POSIX.1\-2001. .SH ERORI .\" http://bugzilla.kernel.org/show_bug.cgi?id=12665 .\" commit 78c9c4dfbf8c04883941445a195276bb4bb92c76 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, \fBDELAYTIMER_MAX\fP, atunci \fBtimer_getoverrun\fP() trebuie să returneze \fBDELAYTIMER_MAX\fP. 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, \fBtimer_getoverrun\fP() returnează \fBDELAYTIMER_MAX\fP (definit ca \fBINT_MAX\fP în \fI\fP) în acest caz (iar valoarea de depășire este readusă la 0). .SH EXEMPLE A se vedea \fBtimer_create\fP(2). .SH "CONSULTAȚI ȘI" \fBclock_gettime\fP(2), \fBsigaction\fP(2), \fBsignalfd\fP(2), \fBsigwaitinfo\fP(2), \fBtimer_create\fP(2), \fBtimer_delete\fP(2), \fBtimer_settime\fP(2), \fBsignal\fP(7), \fBtime\fP(7) .PP .SH TRADUCERE Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu . .PP Această traducere este documentație gratuită; citiți .UR https://www.gnu.org/licenses/gpl-3.0.html Licența publică generală GNU Versiunea 3 .UE sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE. .PP Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la .MT translation-team-ro@lists.sourceforge.net .ME .