ualarm(3)

الاسم
ualarm - جدولة إشارة بعد عدد معين من الميكروثواني

المكتبة
مكتبة سي المعيارية (libc، -lc)

موجز
#include <unistd.h>

useconds_t ualarm(useconds_t usecs, useconds_t interval);

    متطلبات ماكروات اختبار الميزات لـ glibc (انظر feature_test_macros(7)):

ualarm():
    منذ glibc 2.12:
        (_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200809L)
            || /* glibc >= 2.19: */ _DEFAULT_SOURCE
            || /* glibc <= 2.19: */ _BSD_SOURCE
    قبل glibc 2.12:
        _BSD_SOURCE || _XOPEN_SOURCE >= 500

الوصف
تتسبب الدالة ualarm() في إرسال الإشارة SIGALRM إلى العملية المستدعية بعد (لا يقل عن) usecs ميكروثانية. قد يُطال التأخير قليلاً بأي نشاط للنظام أو بالوقت المستغرق في معالجة الاستدعاء أو بدقة المؤقتات النظامية.

ما لم تُلتقط أو تُتجاهل، تُنهي إشارة SIGALRM العملية.

إذا كانت وسيطة interval غير صفرية، تُرسل إشارات SIGALRM إضافية كل interval ميكروثانية بعد الأولى.

قيمة الإرجاع
تُرجع هذه الدالة عدد الميكروثواني المتبقية لأي منبه وُضع سابقاً، أو 0 إذا لم يكن هناك منبه معلق.

الأخطاء

EINTR
    قوطع بواسطة إشارة؛ انظر signal(7).

EINVAL
    usecs أو interval لا يقل عن 1000000. (على الأنظمة التي يُعتبر فيها ذلك خطأ.)

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
ualarm() | سلامة الخيوط | MT-Safe

المعايير
لا شيء.

التاريخ
4.3BSD، POSIX.1-2001. يُصنفه POSIX.1-2001 كمهمل. أُزيل في POSIX.1-2008.

لا تُعرّف 4.3BSD وSUSv2 وPOSIX أي أخطاء.

لا يُحدد POSIX.1-2001 ما يحدث إذا كانت وسيطة usecs تساوي 0. على لينكس (وربما معظم الأنظمة الأخرى)، يكون التأثير إلغاء أي منبه معلق.

النوع useconds_t هو نوع عدد صحيح غير موقع قادر على حمل أعداد صحيحة في النطاق [0,1000000]. في التطبيق الأصلي لـ BSD، وفي glibc قبل glibc 2.1، كانت وسائط ualarm() مكتوبة بدلاً من ذلك كـ unsigned int. ستكون البرامج أكثر قابلية للنقل إذا لم تذكر useconds_t صراحةً.

التفاعل بين هذه الدالة ودوال المؤقت الأخرى مثل alarm(2) وsleep(3) وnanosleep(2) وsetitimer(2) وtimer_create(2) وtimer_delete(2) وtimer_getoverrun(2) وtimer_gettime(2) وtimer_settime(2) وusleep(3) غير محدد.

هذه الدالة مهملة. استخدم setitimer(2) أو مؤقتات الفاصل الزمني لـ POSIX (timer_create(2)، إلخ) بدلاً منها.

انظر أيضًا
alarm(2)، getitimer(2)، nanosleep(2)، select(2)، setitimer(2)، usleep(3)، time(7)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.