الاسم
- Provided by: manpages-ar-dev (Version: 4.31.0-1)
- Source: manpages-l10n
- Report a bug
مكتبة سي المعيارية (libc، -lc)
#include <signal.h>
typedef typeof(void (int)) *sighandler_t;
[[deprecated]] sighandler_t sigset(int sig, sighandler_t disp);
[[deprecated]] int sighold(int sig); [[deprecated]] int sigrelse(int sig); [[deprecated]] int sigignore(int sig);
sigset(), sighold(), sigrelse(), sigignore():
_XOPEN_SOURCE >= 500
تُوفر هذه الدوال في glibc كواجهة توافق للبرامج التي تستخدم واجهة برمجة تطبيقات الإشارات التاريخية للنظام V. هذه الواجهة قديمة: يجب على التطبيقات الجديدة استخدام واجهة برمجة تطبيقات الإشارات POSIX (sigaction(2), sigprocmask(2)، إلخ.)
تعدل الدالة sigset() تصرف الإشارة sig. يمكن أن تكون الوسيطة disp عنوان دالة معالج إشارة، أو أحد الثوابت التالية:
إذا حددت disp عنوان معالج إشارة، فإن sig يُضاف إلى قناع إشارات العملية أثناء تنفيذ المعالج.
إذا حُددت disp بقيمة غير SIG_HOLD، فإن sig يُزال من قناع إشارات العملية.
لا يمكن تغيير الإجراءات المقررة لـ SIGKILL و SIGSTOP.
تضيف الدالة sighold() sig إلى قناع إشارات العملية المستدعية.
تزيل الدالة sigrelse() sig من قناع إشارات العملية المستدعية.
تضبط الدالة sigignore() تصرف sig إلى SIG_IGN.
عند النجاح، تُرجع sigset() SIG_HOLD إذا كانت sig محظورة قبل الاستدعاء، أو التصرف السابق للإشارة إذا لم تكن محظورة قبل الاستدعاء. عند الخطأ، تُرجع sigset() -1، مع ضبط errno للإشارة إلى الخطأ. (لكن انظر الأخطاء أدناه.)
تُرجع الدوال sighold() و sigrelse() و sigignore() 0 عند النجاح؛ عند الخطأ، تُرجع هذه الدوال -1 وتضبط errno للإشارة إلى الخطأ.
بالنسبة لـ sigset()، انظر الأخطاء تحت sigaction(2) و sigprocmask(2).
بالنسبة لـ sighold() و sigrelse()، انظر الأخطاء تحت sigprocmask(2).
بالنسبة لـ sigignore()، انظر الأخطاء تحت sigaction(2).
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
| الواجهة | السمة | القيمة |
| sigset(), sighold(), sigrelse(), sigignore() | سلامة الخيوط | MT-Safe |
POSIX.1-2008.
glibc 2.1. SVr4, POSIX.1-2001. يُصنف POSIX.1-2008 هذه الدوال كمهملة، موصياً باستخدام sigaction(2)، sigprocmask(2)، pthread_sigmask(3)، و sigsuspend(2) بدلاً منها.
توفر الدالة sigset() دلالات موثوقة لمعالجة الإشارات (كما هو الحال عند استدعاء sigaction(2) مع sa_mask مساوٍ لـ 0).
في System V، توفر الدالة signal() دلالات غير موثوقة (كما هو الحال عند استدعاء sigaction(2) مع sa_mask مساوٍ لـ SA_RESETHAND | SA_NODEFER). في BSD، توفر signal() دلالات موثوقة. يترك POSIX.1-2001 هذه الجوانب من signal() غير محددة. انظر signal(2) لمزيد من التفاصيل.
من أجل انتظار إشارة، وفر كل من BSD و System V دالة تسمى sigpause(3)، ولكن هذه الدالة لها معطيات مختلفة في النظامين. راجع sigpause(3) للتفاصيل.
قبل glibc 2.2، لم تقم sigset() بإلغاء حظر sig إذا تم تحديد disp بقيمة غير SIG_HOLD.
قبل glibc 2.5، لا تُرجع sigset() بشكل صحيح التصرف السابق للإشارة في حالتين. أولاً، إذا تم تحديد disp كـ SIG_HOLD، فإن sigset() الناجحة تُرجع دائماً SIG_HOLD. بدلاً من ذلك، يجب أن تُرجع التصرف السابق للإشارة (إلا إذا كانت الإشارة محظورة، وفي هذه الحالة يجب إرجاع SIG_HOLD). ثانياً، إذا كانت الإشارة محظورة حالياً، فيجب أن تكون قيمة الإرجاع لـ sigset() الناجحة هي SIG_HOLD. بدلاً من ذلك، يُرجع التصرف السابق للإشارة. تم إصلاح هذه المشكلات منذ glibc 2.5.
kill(2)، pause(2)، sigaction(2)، signal(2)، sigprocmask(2)، raise(3)، sigpause(3)، sigvec(3)، signal(7)
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.