Scroll to navigation

bsd_signal(3) Library Functions Manual 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 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

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

8 فبراير 2026 صفحات دليل لينكس (لم تصدر بعد)