pthread_rwlockattr_setkind_np(3)

الاسم
pthread_rwlockattr_setkind_np, pthread_rwlockattr_getkind_np - ضبط/الحصول على نوع قفل القراءة-الكتابة لكائن سمة قفل القراءة-الكتابة للخيط

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

موجز
#include <pthread.h>

int pthread_rwlockattr_setkind_np(pthread_rwlockattr_t *attr,
                       int pref);
int pthread_rwlockattr_getkind_np(
                       const pthread_rwlockattr_t *restrict attr,
                       int *restrict pref);

    متطلبات ماكروات اختبار الميزات لـ glibc (انظر feature_test_macros(7)):

pthread_rwlockattr_setkind_np(), pthread_rwlockattr_getkind_np():
    _XOPEN_SOURCE >= 500 || _POSIX_C_SOURCE >= 200809L

الوصف
تضبط الدالة pthread_rwlockattr_setkind_np() سمة "نوع القفل" لكائن سمة قفل القراءة-الكتابة المشار إليه بـ attr إلى القيمة المحددة في pref. يمكن ضبط المعامل pref إلى أحد القيم التالية:

PTHREAD_RWLOCK_PREFER_READER_NP
    هذا هو المبدئي. يمكن للخيط الاحتفاظ بأقفال قراءة متعددة؛ أي أن أقفال القراءة تكرارية. وفقًا لمواصفات يونكس الموحدة، يكون السلوك غير محدد عندما يحاول قارئ وضع قفل، ولا يوجد قفل كتابة ولكن كتّاب ينتظرون. إعطاء الأفضلية للقارئ، كما هو مضبوط بواسطة PTHREAD_RWLOCK_PREFER_READER_NP، يعني أن القارئ سيحصل على القفل المطلوب، حتى لو كان كاتب ينتظر. طالما يوجد قراء، سيجوع الكاتب.

PTHREAD_RWLOCK_PREFER_WRITER_NP
    هذا مخصص ليكون نظير قفل الكتابة لـ PTHREAD_RWLOCK_PREFER_READER_NP. يتم تجاهل هذا بواسطة glibc لأن متطلب POSIX لدعم أقفال القراءة التكرارية سيؤدي إلى إنشاء هذا الخيار لأقفال تامة تافهة؛ بدلاً من ذلك استخدم PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP الذي يضمن أن مطور التطبيق لن يأخذ أقفال قراءة تكرارية وبالتالي تجنب الأقفال التامة.

PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP
    ضبط نوع القفل على هذا يتجنب جوع الكاتب طالما أن أي قفل قراءة لا يتم بطريقة تكرارية.

تعيد الدالة pthread_rwlockattr_getkind_np() قيمة سمة نوع القفل لكائن سمة قفل القراءة-الكتابة المشار إليه بـ attr في المؤشر pref.

قيمة الإرجاع
عند النجاح، تعيد هذه الدوال 0. بمعاملات مؤشر صالحة، تنجح pthread_rwlockattr_getkind_np() دائمًا. عند الخطأ، تعيد pthread_rwlockattr_setkind_np() رقم خطأ غير صفري.

الأخطاء

EINVAL
    يحدد pref قيمة غير مدعومة.

المعايير
جنو؛ ومن هنا جاءت اللاحقة "_np" (غير منقول) في الأسماء.

التاريخ
glibc 2.1.

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

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

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

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