.\" -*- coding: UTF-8 -*- .\" Copyright 2017, 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 pthread_spin_lock 3 "8 فبراير 2026" "صفحات دليل لينكس 6.18" .SH الاسم pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock \- قفل وفتح قفل الدوران .SH المكتبة مكتبة مسالك POSIX (\fIlibpthread\fP،\ \fI\-lpthread\fP) .SH موجز .nf \fB#include \fP .P \fBint pthread_spin_lock(pthread_spinlock_t *\fP\fIlock\fP\fB);\fP \fBint pthread_spin_trylock(pthread_spinlock_t *\fP\fIlock\fP\fB);\fP \fBint pthread_spin_unlock(pthread_spinlock_t *\fP\fIlock\fP\fB);\fP .fi .P .RS -4 متطلبات ماكروات اختبار الميزات لـ glibc (انظر \fBfeature_test_macros\fP(7)): .RE .P \fBpthread_spin_lock\fP(), \fBpthread_spin_trylock\fP(): .nf _POSIX_C_SOURCE >= 200112L .fi .SH الوصف الدالة \fBpthread_spin_lock\fP() تقفل قفل الدوران المشار إليه بـ \fIlock\fP. إذا كان قفل الدوران غير مقفل حاليًا، يكتسب الخيط المستدعي القفل فورًا. إذا كان قفل الدوران مقفلاً حاليًا بواسطة خيط آخر، يدور الخيط المستدعي، مختبرًا القفل حتى يصبح متاحًا، وعندها يكتسب الخيط المستدعي القفل. .P استدعاء \fBpthread_spin_lock\fP() على قفل محجوز بالفعل بواسطة المستدعي أو قفل لم يُهيأ بـ \fBpthread_spin_init\fP(3) يؤدي إلى سلوك غير محدد. .P الدالة \fBpthread_spin_trylock\fP() تشبه \fBpthread_spin_lock\fP()، باستثناء أنه إذا كان قفل الدوران المشار إليه بـ \fIlock\fP مقفلاً حاليًا، فبدلاً من الدوران، يعيد الاستدعاء فورًا مع الخطأ \fBEBUSY\fP. .P الدالة \fBpthread_spin_unlock\fP() تفتح قفل الدوران المشار إليه بـ \fIlock\fP. إذا كانت أي خيوط تدور على القفل، فسيحصل أحد تلك الخيوط على القفل. .P استدعاء \fBpthread_spin_unlock\fP() على قفل غير محجوز بواسطة المستدعي يؤدي إلى سلوك غير محدد. .SH "قيمة الإرجاع" عند النجاح، تعيد هذه الدوال صفرًا. عند الفشل، تعيد رقم خطأ. .SH الأخطاء قد تفشل \fBpthread_spin_lock\fP() مع الأخطاء التالية: .TP \fBEDEADLOCK\fP .\" Not detected in glibc اكتشف النظام حالة توقف تام. .P تفشل \fBpthread_spin_trylock\fP() مع الأخطاء التالية: .TP \fBEBUSY\fP قفل الدوران مقفل حاليًا بواسطة خيط آخر. .SH المعايير POSIX.1\-2008. .SH التاريخ glibc 2.2. POSIX.1\-2001. .SH تحذيرات تطبيق أي من الدوال الموصوفة في هذه الصفحة على قفل دوران غير مهيأ يؤدي إلى سلوك غير محدد. .P اقرأ الملاحظات في \fBpthread_spin_init\fP(3) بعناية. .SH "انظر أيضًا" .ad l .nh .\" FIXME . .BR pthread_mutex_lock (3), \fBpthread_spin_destroy\fP(3), \fBpthread_spin_init\fP(3), \fBpthreads\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 .