pthread_mutex_consistent(3)

الاسم
pthread_mutex_consistent - جعل كائن المزامنة المتين متسقًا

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

موجز
#include <pthread.h>

int pthread_mutex_consistent(pthread_mutex_t *mutex);

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

pthread_mutex_consistent():
    _POSIX_C_SOURCE >= 200809L

الوصف
تجعل هذه الدالة كائن المزامنة المتين متسقًا إذا كان في حالة غير متسقة. يمكن ترك كائن المزامنة في حالة غير متسقة إذا أنهى مالكه تنفيذه أثناء الاحتفاظ به، وفي هذه الحالة سينجح المالك التالي الذي يحصل على كائن المزامنة وسيُبلَّغ بقيمة إرجاع EOWNERDEAD من استدعاء pthread_mutex_lock().

قيمة الإرجاع
عند النجاح، تُرجع pthread_mutex_consistent() 0. وإلا، تُرجع رقم خطأ موجب للإشارة إلى الخطأ.

الأخطاء

EINVAL
    كائن المزامنة إما غير متين أو ليس في حالة غير متسقة.

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

التاريخ
glibc 2.12. POSIX.1-2008.

قبل إضافة pthread_mutex_consistent() إلى POSIX، عرَّفت glibc الدالة غير القياسية المكافئة التالية إذا عُرِّف _GNU_SOURCE:

[[deprecated]]
int pthread_mutex_consistent_np(const pthread_mutex_t *mutex);

واجهة برمجة التطبيقات الخاصة بـ GNU هذه، التي ظهرت لأول مرة في glibc 2.4، أصبحت الآن مهجورة ولا ينبغي استخدامها في البرامج الجديدة؛ منذ glibc 2.34 وُسِمَت بأنها مهملة.

ملاحظات
تُخبر pthread_mutex_consistent() التنفيذ ببساطة أن الحالة (البيانات المشتركة) المحمية بواسطة كائن المزامنة قد استُعيدت إلى حالة متسقة وأن العمليات العادية يمكن الآن تنفيذها باستخدام كائن المزامنة. تقع على عاتق التطبيق مسؤولية ضمان استعادة البيانات المشتركة إلى حالة متسقة قبل استدعاء pthread_mutex_consistent().

أمثلة
انظر pthread_mutexattr_setrobust(3).

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

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

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

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