.\" -*- coding: UTF-8 -*- .\" Copyright, the authors of the Linux man-pages project .\" .\" SPDX-License-Identifier: Linux-man-pages-copyleft .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH timer_getoverrun 2 "29. Oktober 2025" "Linux man\-pages 6.18" .SH BEZEICHNUNG timer_getoverrun \-Überlaufzähler für prozessbezogene POSIX\-Timer erhalten .SH BIBLIOTHEK Echtzeitbibliothek (\fIlibrt\fP,\ \fI\-lrt\fP) .SH ÜBERSICHT .nf \fB#include \fP .P \fBint timer_getoverrun(timer_t \fP\fItimerid\fP\fB);\fP .fi .P .RS -4 Mit Glibc erforderliche Feature\-Test\-Makros (siehe \fBfeature_test_macros\fP(7)): .RE .P \fBtimer_getoverrun\fP(): .nf _POSIX_C_SOURCE >= 199309L .fi .SH BESCHREIBUNG \fBtimer_getoverrun\fP() liefert den »Überlaufzähler« für den durch \fItimerid\fP referenzierten Zähler zurück. Eine Anwendung kann den Überlaufzähler für die Berechnung der genauen Anzahl der Timer\-Abläufe verwenden, die über eine angegebene Zeitdauer aufgetreten wären. Timer\-Überläufe können sowohl beim Empfang von Ablaufbenachrichtigungen mittels Signalen (\fBSIGEV_SIGNAL\fP) wie auch über Threads (\fBSIGEV_THREAD\fP) erfolgen. .P Wenn Ablaufbenachrichtigungen über ein Signal ausgeliefert werden, können Überläufe wie folgt auftreten. Unabhängig davon, ob ein Echtzeitsignal für die Timer\-Benachrichtigung verwandt wird, stellt das System höchstens ein Signal pro Timer in die Warteschlange. (Dies ist das von POSIX.1 spezifiziert Verhalten. Die Alternative, ein Signal für jeden Timer\-Ablauf in die Warteschlange zu stellen, könnte leicht in einen Überlauf der erlaubten Beschränkungen für Signale in Warteschlangen auf dem System führen.) Aufgrund von System\-Scheduling\-Verzögerungen oder aufgrund temporärer Blockierungen des Signals kann es eine Verzögerung zwischen dem Zeitpunkt, zu dem das Benachrichtigungssignal erstellt wird und dem Zeitpunkt, zu dem es ausgeliefert (z.B. wenn es durch einen Signal\-Handhaber gefangen wird) oder akzeptiert wird (z.B. mittels \fBsigwaitinfo\fP(2)), geben. In diesem Intervall können weitere Timer\-Abläufe auftreten. Die Timer\-Überlaufzählung ist die Anzahl der zusätzlichen Timer\-Abläufe, die zwischen dem Zeitpunkt der Erstellung des Signals und dem Zeitpunkt der Auslieferung oder Akzeptanz aufgetreten sind. .P Timer\-Überläufe können auch auftreten, wenn Ablaufbenachrichtigungen mittels Aufruf eines Threads ausgeliefert werden, da es eine beliebige Verzögerung zwischen einem Ablauf des Timers und dem Aufruf des Benachrichtigungs\-Threads geben kann und in diesem Verzögerungsintervall zusätzliche Timer\-Abläufe auftreten können. .SH RÜCKGABEWERT Im Erfolgsfall liefert \fBtimer_getoverrun\fP() den Überlaufzähler des festgelegten Timers zurück; dieser Zähler kann 0 sein, falls keine Überläufe aufgetreten sind. Im Fehlerfall wird \-1 zurückgeliefert und \fIerrno\fP gesetzt, um den Fehler anzuzeigen. .SH FEHLER .TP \fBEINVAL\fP \fItimer_kennung\fP ist keine gültige Timer\-Kennung. .SH VERSIONEN Wenn Timer\-Benachrichtigungen mittels Signalen (\fBSIGEV_SIGNAL\fP) ausgeliefert werden, ist es unter Linux auch möglich, den Überlaufzähler mittels des Feldes \fIsi_overrun\fP der Struktur \fIsiginfo_t\fP zu erhalten (siehe \fBsigaction\fP(2)). Dies ermöglicht es einer Anwendung, den Zusatzaufwand der Ausführung eines Systemaufrufs zu vermeiden, um den Überlaufzähler zu ermitteln, ist aber eine nicht portierbare Erweiterung von POSIX.1. .P .\" FIXME . Austin bug filed, 11 Feb 09 .\" https://www.austingroupbugs.net/view.php?id=95 POSIX.1 behandelt Überlaufe nur im Kontext von Timer\-Benachrichtigungen mittels Signalen. .SH STANDARDS POSIX.1\-2024. .SH GESCHICHTE Linux 2.6. POSIX.1\-2001. .SH FEHLER .\" http://bugzilla.kernel.org/show_bug.cgi?id=12665 .\" commit 78c9c4dfbf8c04883941445a195276bb4bb92c76 POSIX.1 spezifiziert, dass \fBtimer_getoverrun\fP() \fBDELAYTIMER_MAX\fP zurückliefern soll, wenn der Überlaufzähler größer oder gleich einem implementierungsabhängigen Maximum \fBDELAYTIMER_MAX\fP ist. Vor Linux 4.19 beginnt der Zählerzyklus allerdings erneut von niedrigen Werten, falls der Timer\-Überlaufwert die maximal darstellbare Ganzzahl überschreitet und der Zähler in den nächsten Zyklus geht. Seit Linux 4.19 liefert \fBtimer_getoverrun\fP() in diesem Fall \fBDELAYTIMER_MAX\fP (definiert als \fBINT_MAX\fP in \fI\fP) zurück (und der Überlaufwert wird auf 0 zurückgesetzt). .SH BEISPIELE Siehe \fBtimer_create\fP(2). .SH "SIEHE AUCH" \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 ÜBERSETZUNG Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann erstellt. .PP Diese Übersetzung ist Freie Dokumentation; lesen Sie die .UR https://www.gnu.org/licenses/gpl-3.0.html GNU General Public License Version 3 .UE oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen. .PP Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die .MT debian-l10n-german@lists.debian.org Mailingliste der Übersetzer .ME .