pthread_mutexattr_getpshared(3)

الاسم
pthread_mutexattr_getpshared, pthread_mutexattr_setpshared - الحصول/تعيين سمة كائن المزامنة المشتركة بين العمليات

المكتبة
مكتبة مسالك POSIX (libpthread، -lpthread)

موجز
#include <pthread.h>

int pthread_mutexattr_getpshared(
                      const pthread_mutexattr_t *restrict attr,
                      int *restrict pshared);
int pthread_mutexattr_setpshared(pthread_mutexattr_t *attr,
                      int pshared);

الوصف
تحصل هذه الدوال على سمة المشاركة بين العمليات وتعينها في كائن سمات كائن المزامنة. يجب تعيين هذه السمة بشكل مناسب لضمان تشغيل صحيح وفعال لكائن المزامنة المُنشأ باستخدام كائن السمات هذا.

يمكن أن تأخذ سمة المشاركة بين العمليات إحدى القيم التالية:

PTHREAD_PROCESS_PRIVATE
    كائنات المزامنة المُنشأة بكائن السمات هذا تُشارك فقط بين الخيوط في نفس العملية التي قامت بتهيئة كائن المزامنة. هذه هي القيمة المبدئية لسمة كائن المزامنة المشتركة بين العمليات.

PTHREAD_PROCESS_SHARED
    كائنات المزامنة المُنشأة بكائن السمات هذا يمكن مشاركتها بين أي خيوط لديها وصول إلى الذاكرة المحتوية على الكائن، بما في ذلك الخيوط في عمليات مختلفة.

تضع pthread_mutexattr_getpshared() قيمة سمة المشاركة بين العمليات لكائن سمات كائن المزامنة المشار إليه بـ attr في الموقع المُشار إليه بـ pshared.

تعيّن pthread_mutexattr_setpshared() قيمة سمة المشاركة بين العمليات لكائن سمات كائن المزامنة المشار إليه بـ attr إلى القيمة المُحددة في pshared.

إذا لم يُشر attr إلى كائن سمات كائن مزامنة مُهيأ، فإن السلوك غير مُحدد.

قيمة الإرجاع
تُعيد هذه الدوال 0 عند النجاح. وتُعيد رقم خطأ موجب عند حدوث خطأ.

الأخطاء
يمكن أن تفشل pthread_mutexattr_setpshared() مع الأخطاء التالية:

EINVAL
    القيمة المُحددة في pshared غير صالحة.

ENOTSUP
    pshared هو PTHREAD_PROCESS_SHARED لكن التطبيق لا يدعم كائنات المزامنة المشتركة بين العمليات.

المعايير
POSIX.1-2008.

التاريخ
POSIX.1-2001.

انظر أيضًا
pthread_mutexattr_init(3), pthreads(7)

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

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

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