bsd_signal(3)

الاسم
bsd_signal - معالجة الإشارات بدلالات BSD

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

موجز
#include <signal.h>

typedef typeof(void (int))  *sighandler_t;

sighandler_t bsd_signal(int signum, sighandler_t handler);

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

bsd_signal():
    Since glibc 2.26:
        _XOPEN_SOURCE >= 500
            && ! (_POSIX_C_SOURCE >= 200809L)
    glibc 2.25 and earlier:
        _XOPEN_SOURCE

الوصف
الدالة bsd_signal() تأخذ نفس الوسائط، وتؤدي نفس المهمة، مثل signal(2).

الفرق بينهما هو أن bsd_signal() مضمونة لتوفير دلالات إشارة موثوقة، أي: أ) لا يُعاد تعيين تصرف الإشارة إلى المبدئي عند استدعاء المعالج؛ ب) يُحجب تسليم نسخ أخرى من الإشارة أثناء تنفيذ معالج الإشارة؛ ج) إذا قاطع المعالج استدعاء نظام حاجب، فإن استدعاء النظام يُعاد تشغيله آليًا. لا يمكن لتطبيق محمول الاعتماد على signal(2) لتوفير هذه الضمانات.

قيمة الإرجاع
الدالة bsd_signal() تُرجع القيمة السابقة لمعالج الإشارة، أو SIG_ERR عند الخطأ.

الأخطاء
كما هو الحال في signal(2).

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

الإصدارات
يُتجنب استخدام bsd_signal()؛ يُستخدم sigaction(2) بدلاً منه.

على أنظمة لينكس الحديثة، bsd_signal() و signal(2) متكافئتان. لكن على الأنظمة الأقدم، وفرت signal(2) دلالات إشارة غير موثوقة؛ انظر signal(2) للتفاصيل.

استخدام sighandler_t هو امتداد لـ GNU؛ هذا النوع لا يُعرف إلا إذا عُرف ماكرو اختبار الميزة _GNU_SOURCE.

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

التاريخ
4.2BSD, POSIX.1-2001. أُزيلت في POSIX.1-2008، مُوصية باستخدام sigaction(2) بدلاً منها.

انظر أيضًا
sigaction(2), signal(2), sysv_signal(3), signal(7)

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

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

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