.\" -*- coding: UTF-8 -*- .\" Copyright 2015, 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 nptl 7 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم nptl \- مكتبة خيوط POSIX الأصلية .SH الوصف .\" NPTL (مكتبة خيوط POSIX الأصلية) هي تطبيق خيوط POSIX لمكتبة GNU C المستخدمة على أنظمة لينكس الحديثة. .SS "NPTL والإشارات" تستخدم NPTL داخليًا أول إشارتين زمنيتين حقيقيتين (رقما الإشارة 32 و33). تُستخدم إحدى هاتين الإشارتين لدعم إلغاء الخيوط ومؤقتات POSIX (انظر \fBtimer_create\fP(2))؛ وتُستخدم الأخرى كجزء من آلية تضمن أن جميع الخيوط في العملية لها نفس معرفات المستخدمين ومعرفات المجموعات، كما هو مطلوب بواسطة POSIX. لا يمكن استخدام هذه الإشارات في التطبيقات. .P لمنع الاستخدام العرضي لهذه الإشارات في التطبيقات، والذي قد يتداخل مع تشغيل تطبيق NPTL، تحاول دوال مكتبة glibc المختلفة ودوال غلاف استدعاءات النظام إخفاء هذه الإشارات عن التطبيقات، كما يلي: .IP \[bu] 3 يُعرف \fBSIGRTMIN\fP بالقيمة 34 (بدلاً من 32). .IP \[bu] تتجاهل واجهات \fBsigwaitinfo\fP(2) و\fBsigtimedwait\fP(2) و\fBsigwait\fP(3) بصمت طلبات الانتظار لهاتين الإشارتين إذا تم تحديدهما في وسيط مجموعة الإشارة لهذه الاستدعاءات. .IP \[bu] تتجاهل واجهات \fBsigprocmask\fP(2) و\fBpthread_sigmask\fP(3) بصمت محاولات حظر هاتين الإشارتين. .IP \[bu] تفشل واجهات \fBsigaction\fP(2) و\fBpthread_kill\fP(3) و\fBpthread_sigqueue\fP(3) مع الخطأ \fBEINVAL\fP (مشيرًا إلى رقم إشارة غير صالح) إذا تم تحديد هذه الإشارات. .IP \[bu] .\" لا تتضمن \fBsigfillset\fP(3) هاتين الإشارتين عند إنشاء مجموعة إشارة كاملة. .SS "NPTL وتغييرات بيانات اعتماد العملية" على مستوى نواة لينكس، بيانات الاعتماد (معرفات المستخدم والمجموعة) هي سمة لكل خيط. ومع ذلك، تتطلب POSIX أن جميع خيوط POSIX في العملية لها نفس بيانات الاعتماد. لاستيعاب هذا المطلب، يغلف تطبيق NPTL جميع استدعاءات النظام التي تغير بيانات اعتماد العملية بدوال تقوم، بالإضافة إلى استدعاء استدعاء النظام الأساسي، بترتيب تغيير جميع الخيوط الأخرى في العملية لبيانات اعتمادها أيضًا. .P يتضمن تنفيذ كل من استدعاءات النظام هذه استخدام إشارة زمنية حقيقية تُرسل (باستخدام \fBtgkill\fP(2)) إلى كل خيط من الخيوط الأخرى التي يجب أن تغير بيانات اعتمادها. قبل إرسال هذه الإشارات، يحفظ الخيط الذي يغير بيانات الاعتماد بيانات الاعتماد الجديدة ويسجل استدعاء النظام المستخدم في مخزن مؤقت عام. يقوم معالج إشارة في الخيوط المستقبلة بجلب هذه المعلومات ثم يستخدم نفس استدعاء النظام لتغيير بيانات اعتمادها. .P .\" FIXME . .\" Maybe say something about vfork() not being serialized wrt set*id() APIs? .\" https://sourceware.org/bugzilla/show_bug.cgi?id=14749 تُوفر دوال غلاف تستخدم هذه التقنية لـ \fBsetgid\fP(2) و\fBsetuid\fP(2) و\fBsetegid\fP(2) و\fBseteuid\fP(2) و\fBsetregid\fP(2) و\fBsetreuid\fP(2) و\fBsetresgid\fP(2) و\fBsetresuid\fP(2) و\fBsetgroups\fP(2). .SH المعايير للحصول على تفاصيل حول توافق NPTL مع معيار POSIX، انظر \fBpthreads\fP(7). .SH ملاحظات .\" See POSIX.1-2008 specification of pthread_mutexattr_init() .\" See sysdeps/x86/bits/pthreadtypes.h تنص POSIX على أن أي خيط في أي عملية لديه وصول إلى الذاكرة التي تحتوي على كائن مزامنة مشترك بين العمليات (\fBPTHREAD_PROCESS_SHARED\fP) يمكنه العمل على ذلك الكائن. ومع ذلك، على أنظمة x86 ذات 64 بت، تعريف كائن المزامنة لـ x86\-64 غير متوافق مع تعريف كائن المزامنة لـ i386، مما يعني أن الملفات الثنائية ذات 32 بت و64 بت لا يمكنها مشاركة كائنات المزامنة على أنظمة x86\-64. .SH "انظر أيضًا" \fBcredentials\fP(7)، \fBpthreads\fP(7)، \fBsignal\fP(7)، \fBstandards\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 .