| pthread_cleanup_push_defer_np(3) | Library Functions Manual | pthread_cleanup_push_defer_np(3) |
الاسم¶
pthread_cleanup_push_defer_np, pthread_cleanup_pop_restore_np - دفع وسحب معالجات التنظيف لإلغاء الخيط مع حفظ نوع قابلية الإلغاء
المكتبة¶
مكتبة مسالك POSIX (libpthread، -lpthread)
موجز¶
#include <pthread.h>
void pthread_cleanup_push_defer_np(typeof(void (void *)) *routine,
void *arg);
void pthread_cleanup_pop_restore_np(int execute);
pthread_cleanup_push_defer_np(), pthread_cleanup_pop_defer_np():
_GNU_SOURCE
الوصف¶
هذه الدوال مماثلة لـ pthread_cleanup_push(3) و pthread_cleanup_pop(3)، باستثناء الاختلافات المذكورة في هذه الصفحة.
مثل pthread_cleanup_push(3)، تدفع pthread_cleanup_push_defer_np() الروتين routine إلى مكدس معالجات التنظيف للإلغاء الخاص بالخيط. بالإضافة إلى ذلك، تحفظ أيضًا نوع قابلية الإلغاء الحالي للخيط، وتضبط نوع قابلية الإلغاء إلى "مؤجل" (انظر pthread_setcanceltype(3))؛ يضمن هذا حدوث تنظيف الإلغاء حتى لو كان نوع قابلية الإلغاء للخيط "غير متزامن" قبل الاستدعاء.
مثل pthread_cleanup_pop(3)، تسحب pthread_cleanup_pop_restore_np() معالج التنظيف العلوي من مكدس معالجات التنظيف للإلغاء الخاص بالخيط. بالإضافة إلى ذلك، تستعيد نوع قابلية الإلغاء للخيط إلى قيمته في وقت pthread_cleanup_push_defer_np() المطابقة.
يجب على المستدعي ضمان إقران استدعاءات هذه الدوال داخل نفس الدالة، وعلى نفس مستوى التداخل المعجمي. تنطبق قيود أخرى، كما هو موصوف في pthread_cleanup_push(3).
هذا التسلسل من الاستدعاءات:
pthread_cleanup_push_defer_np(routine, arg); pthread_cleanup_pop_restore_np(execute);
مكافئ لـ (لكنه أقصر وأكثر كفاءة من):
int oldtype; pthread_cleanup_push(routine, arg); pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldtype); ... pthread_setcanceltype(oldtype, NULL); pthread_cleanup_pop(execute);
المعايير¶
جنو؛ ومن هنا جاءت اللاحقة "_np" (غير منقول) في الأسماء.
التاريخ¶
glibc 2.0
انظر أيضًا¶
pthread_cancel(3), pthread_cleanup_push(3), pthread_setcancelstate(3), pthread_testcancel(3), pthreads(7)
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 17 مايو 2025 | صفحات دليل لينكس (لم تصدر بعد) |