.\" -*- 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 أكتوبر 2025" "صفحات دليل لينكس 6.18" .SH الاسم timer_getoverrun \- الحصول على عدد التجاوزات لمؤقت لكل عملية بنظام POSIX .SH المكتبة مكتبة الوقت الحقيقي (\fIlibrt\fP،\ \fI\-lrt\fP) .SH موجز .nf \fB#include \fP .P \fBint timer_getoverrun(timer_t \fP\fItimerid\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBtimer_getoverrun\fP(): .nf _POSIX_C_SOURCE >= 199309L .fi .SH الوصف ترجع \fBtimer_getoverrun\fP() "عدد التجاوزات" للمؤقت المشار إليه بواسطة \fItimerid\fP. يمكن للتطبيق استخدام عدد التجاوزات لحساب عدد انتهاءات المؤقت التي كانت ستحدث خلال فترة زمنية معينة بدقة. يمكن أن تحدث تجاوزات المؤقت عند استقبال إشعارات الانتهاء عبر الإشارات (\fBSIGEV_SIGNAL\fP) وعبر الخيوط (\fBSIGEV_THREAD\fP). .P عندما تُسلَّم إشعارات الانتهاء عبر إشارة، يمكن أن تحدث التجاوزات كما يلي. بغض النظر عما إذا كانت إشارة زمن حقيقي تُستخدم لإشعارات المؤقت أم لا، يقوم النظام بطابور إشارة واحدة على الأكثر لكل مؤقت. (هذا هو السلوك المحدد بواسطة POSIX.1. البديل، طابور إشارة واحدة لكل انتهاء مؤقت، قد يؤدي بسهولة إلى تجاوز الحدود المسموح بها للإشارات المُطابَرة على النظام.) بسبب تأخيرات جدولة النظام، أو لأن الإشارة قد تكون محظورة مؤقتًا، يمكن أن يكون هناك تأخير بين الوقت الذي تُنشأ فيه إشارة الإشعار والوقت الذي تُسلَّم فيه (مثلًا، يتم التقاطها بواسطة معالج إشارة) أو تُقبل (مثلًا، باستخدام \fBsigwaitinfo\fP(2)). في هذه الفترة، قد تحدث انتهاءات مؤقت إضافية. عدد تجاوزات المؤقت هو عدد انتهاءات المؤقت الإضافية التي حدثت بين الوقت الذي نُشئت فيه الإشارة وعندما سُلِّمت أو قُبلت. .P يمكن أن تحدث تجاوزات المؤقت أيضًا عندما تُسلَّم إشعارات الانتهاء عبر استدعاء خيط، حيث قد يكون هناك تأخير عشوائي بين انتهاء المؤقت واستدعاء خيط الإشعار، وفي تلك الفترة الزمنية، قد تحدث انتهاءات مؤقت إضافية. .SH "قيمة الإرجاع" عند النجاح، ترجع \fBtimer_getoverrun\fP() عدد تجاوزات المؤقت المحدد؛ قد يكون هذا العدد 0 إذا لم تحدث أي تجاوزات. عند الفشل، تُرجع \-1، ويُضبط \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEINVAL\fP \fItimerid\fP ليس معرف مؤقت صالح. .SH الإصدارات عندما تُسلَّم إشعارات المؤقت عبر الإشارات (\fBSIGEV_SIGNAL\fP)، على لينكس يمكن أيضًا الحصول على عدد التجاوزات عبر حقل \fIsi_overrun\fP من بنية \fIsiginfo_t\fP (انظر \fBsigaction\fP(2)). يسمح هذا للتطبيق بتجنب الحمل الزائد لإجراء استدعاء نظام للحصول على عدد التجاوزات، لكنه امتداد غير محمول لـ POSIX.1. .P .\" FIXME . Austin bug filed, 11 Feb 09 .\" https://www.austingroupbugs.net/view.php?id=95 يناقش POSIX.1 تجاوزات المؤقت فقط في سياق إشعارات المؤقت باستخدام الإشارات. .SH المعايير POSIX.1\-2024. .SH التاريخ لينكس 2.6. POSIX.1\-2001. .SH العلل .\" http://bugzilla.kernel.org/show_bug.cgi?id=12665 .\" commit 78c9c4dfbf8c04883941445a195276bb4bb92c76 يحدد POSIX.1 أنه إذا كان عدد تجاوزات المؤقت يساوي أو أكبر من الحد الأقصى المُعرَّف بالتنفيذ، \fBDELAYTIMER_MAX\fP، فيجب أن ترجع \fBtimer_getoverrun\fP() \fBDELAYTIMER_MAX\fP. ومع ذلك، قبل لينكس 4.19، إذا تجاوزت قيمة التجاوز الحد الأقصى للعدد الصحيح القابل للتمثيل، يدور العداد، ويبدأ مرة أخرى من القيم المنخفضة. منذ لينكس 4.19، ترجع \fBtimer_getoverrun\fP() \fBDELAYTIMER_MAX\fP (المُعرَّف كـ \fBINT_MAX\fP في \fI\fP) في هذه الحالة (وتُعاد قيمة التجاوز إلى 0). .SH أمثلة انظر \fBtimer_create\fP(2). .SH "انظر أيضًا" \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 ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .