.\" -*- coding: UTF-8 -*- .\" Copyright 2005, Michael Kerrisk .\" 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 sigprocmask 2 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم sigprocmask, rt_sigprocmask \- فحص وتغيير الإشارات المحجوبة .SH المكتبة مكتبة سي المعيارية (\fIlibc\fP،\ \fI\-lc\fP) .SH موجز \fB#include \fP .P .nf /* Prototype for the glibc wrapper function */ \fBint sigprocmask(int \fP\fIhow\fP\fB, const sigset_t *_Nullable restrict \fP\fIset\fP\fB,\fP \fB sigset_t *_Nullable restrict \fP\fIoldset\fP\fB);\fP .P \fB#include \fP /* Definition of \fBSIG_*\fP constants */ \fB#include \fP /* Definition of \fBSYS_*\fP constants */ \fB#include \fP .P /* Prototype for the underlying system call */ \fBint syscall(SYS_rt_sigprocmask, int \fP\fIhow\fP\fB,\fP \fB const kernel_sigset_t *_Nullable \fP\fIset\fP\fB,\fP \fB kernel_sigset_t *_Nullable \fP\fIoldset\fP\fB,\fP \fB size_t \fP\fIsigsetsize\fP\fB);\fP .P /* Prototype for the legacy system call */ \fB[[deprecated]] int syscall(SYS_sigprocmask, int \fP\fIhow\fP\fB,\fP \fB const old_kernel_sigset_t *_Nullable \fP\fIset\fP\fB,\fP \fB old_kernel_sigset_t *_Nullable \fP\fIoldset\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBsigprocmask\fP(): .nf _POSIX_C_SOURCE .fi .SH الوصف تُستخدم \fBsigprocmask\fP() لجلب و/أو تغيير قناع الإشارات للخيط المستدعي. قناع الإشارات هو مجموعة الإشارات التي يتم حظر تسليمها حاليًا للمستدعي (انظر أيضًا \fBsignal\fP(7) لمزيد من التفاصيل). .P يعتمد سلوك الاستدعاء على قيمة \fIhow\fP، كما يلي. .TP \fBSIG_BLOCK\fP مجموعة الإشارات المحجوبة هي اتحاد المجموعة الحالية والوسيطة \fIset\fP. .TP \fBSIG_UNBLOCK\fP تتم إزالة الإشارات في \fIset\fP من المجموعة الحالية للإشارات المحجوبة. يُسمح بمحاولة إلغاء حظر إشارة غير محجوبة. .TP \fBSIG_SETMASK\fP يتم تعيين مجموعة الإشارات المحجوبة إلى الوسيطة \fIset\fP. .P إذا كانت \fIoldset\fP غير NULL، يتم تخزين القيمة السابقة لقناع الإشارات في \fIoldset\fP. .P إذا كانت \fIset\fP NULL، فإن قناع الإشارات يبقى دون تغيير (أي يتم تجاهل \fIhow\fP)، ولكن يتم إرجاع القيمة الحالية لقناع الإشارات في \fIoldset\fP (إذا لم تكن NULL). .P يتم وصف مجموعة من الدوال لتعديل وفحص متغيرات من النوع \fIsigset_t\fP ("مجموعات الإشارات") في \fBsigsetops\fP(3). .P استخدام \fBsigprocmask\fP() غير محدد في عملية متعددة الخيوط؛ انظر \fBpthread_sigmask\fP(3). .SH "قيمة الإرجاع" تُرجع \fBsigprocmask\fP() 0 عند النجاح. عند الفشل، تُرجع \-1 ويتم تعيين \fIerrno\fP للإشارة إلى الخطأ. .SH الأخطاء .TP \fBEFAULT\fP تشير الوسيطة \fIset\fP أو \fIoldset\fP إلى خارج مساحة العنوان المخصصة للعملية. .TP \fBEINVAL\fP إما أن القيمة المحددة في \fIhow\fP غير صالحة أو أن النواة لا تدعم الحجم المُمرر في \fIsigsetsize\fP. .SH الإصدارات .SS "الاختلافات بين مكتبة C والنواة" يختلف تعريف النواة لـ \fIsigset_t\fP في الحجم عن ذلك المستخدم من قبل مكتبة C. في صفحة الدليل هذه، يُشار إلى الأول باسم \fIkernel_sigset_t\fP (ومع ذلك يُسمى \fIsigset_t\fP في شيفرات النواة). .P تتجاهل دالة الغلاف في glibc لـ \fBsigprocmask\fP() بصمت محاولات حظر إشارتي الوقت الفعلي المستخدمتين داخليًا بواسطة تنفيذ الخيوط NPTL. انظر \fBnptl\fP(7) للتفاصيل. .P .\" sizeof(kernel_sigset_t) == _NSIG / 8, .\" which equals to 8 on most architectures, but e.g., on MIPS it's 16. كان استدعاء نظام Linux الأصلي يُسمى \fBsigprocmask\fP(). ومع ذلك، مع إضافة إشارات الوقت الفعلي في Linux 2.2، لم يعد النوع ذو الحجم الثابت 32 بت \fIsigset_t\fP (المشار إليه باسم \fIold_kernel_sigset_t\fP في صفحة الدليل هذه) المدعوم من قبل ذلك الاستدعاء مناسبًا للغرض. وبالتالي، تمت إضافة استدعاء نظام جديد، \fBrt_sigprocmask\fP()، لدعم نوع \fIsigset_t\fP موسع (المشار إليه باسم \fIkernel_sigset_t\fP في صفحة الدليل هذه). يأخذ استدعاء النظام الجديد وسيطة رابعة، \fIsize_t sigsetsize\fP، والتي تحدد الحجم بالبايت لمجموعات الإشارات في \fIset\fP و \fIoldset\fP. هذه الوسيطة مطلوبة حاليًا أن تكون ذات قيمة ثابتة خاصة بالمعمارية (تساوي \fIsizeof(kernel_sigset_t)\fP). .P .\" تخفي دالة الغلاف \fBsigprocmask\fP() في glibc هذه التفاصيل عنا، وتستدعي بشفافية \fBrt_sigprocmask\fP() عندما توفرها النواة. .SH المعايير POSIX.1\-2024. .SH التاريخ POSIX.1\-2001. .SH ملاحظات لا يمكن حظر \fBSIGKILL\fP أو \fBSIGSTOP\fP. يتم تجاهل محاولات القيام بذلك بصمت. .P كل خيط من خيوط العملية له قناع الإشارات الخاص به. .P يرث الابن المنشأ عبر \fBfork\fP(2) نسخة من قناع إشارات والده؛ ويُحافَظ على قناع الإشارات عبر عملية \fBexecve\fP(2). .P إذا تم توليد \fBSIGBUS\fP أو \fBSIGFPE\fP أو \fBSIGILL\fP أو \fBSIGSEGV\fP أثناء حظرها، تكون النتيجة غير محددة، ما لم يتم توليد الإشارة بواسطة \fBkill\fP(2) أو \fBsigqueue\fP(3) أو \fBraise\fP(3). .P انظر \fBsigsetops\fP(3) للحصول على تفاصيل حول معالجة مجموعات الإشارات. .P لاحظ أنه من المسموح (وإن لم يكن مفيدًا جدًا) تحديد كل من \fIset\fP و \fIoldset\fP كـ NULL. .SH "انظر أيضًا" \fBkill\fP(2), \fBpause\fP(2), \fBsigaction\fP(2), \fBsignal\fP(2), \fBsigpending\fP(2), \fBsigsuspend\fP(2), \fBpthread_sigmask\fP(3), \fBsigqueue\fP(3), \fBsigsetops\fP(3), \fBsignal\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 .