table of contents
- unstable 4.31.0-1
| epoll_create(2) | System Calls Manual | epoll_create(2) |
الاسم¶
epoll_create, epoll_create1 - فتح واصف ملف epoll
المكتبة¶
مكتبة سي المعيارية (libc، -lc)
موجز¶
#include <sys/epoll.h>
int epoll_create(int size); int epoll_create1(int flags);
الوصف¶
epoll_create() تنشئ مثيل epoll(7) جديد. منذ لينكس 2.6.8، يتم تجاهل وسيط size، لكن يجب أن يكون أكبر من الصفر؛ انظر التاريخ.
epoll_create() تُرجع واصف ملف يشير إلى مثيل epoll الجديد. يُستخدم واصف الملف هذا لجميع الاستدعاءات اللاحقة لواجهة epoll. عندما لا يعود هناك حاجة إليه، يجب إغلاق واصف الملف الذي أرجعته epoll_create() باستخدام close(2). عندما يتم إغلاق جميع واصفات الملفات التي تشير إلى مثيل epoll، يُدمر النواة المثيل ويُحرر الموارد المرتبطة لإعادة الاستخدام.
epoll_create1()¶
إذا كان flags يساوي 0، فبصرف النظر عن حقيقة إسقاط وسيط size القديم، فإن epoll_create1() مماثلة لـ epoll_create(). يمكن تضمين القيمة التالية في flags للحصول على سلوك مختلف:
- EPOLL_CLOEXEC
- اضبط علامة الإغلاق عند التنفيذ (FD_CLOEXEC) على واصف الملف الجديد. انظر وصف العلامة O_CLOEXEC في open(2) للأسباب التي تجعل هذا مفيدًا.
قيمة الإرجاع¶
عند النجاح، تُرجع استدعاءات النظام هذه واصف ملف (عدد صحيح غير سالب). عند الخطأ، يتم إرجاع -1، ويتم تعيين errno للإشارة إلى الخطأ.
الأخطاء¶
المعايير¶
لينكس.
التاريخ¶
- epoll_create()
- لينكس 2.6، glibc 2.3.2.
- epoll_create1()
- لينكس 2.6.27، glibc 2.9.
في تنفيذ epoll_create() الأولي، أبلغ وسيط size النواة بعدد واصفات الملفات التي يتوقع المتصل إضافتها إلى مثيل epoll. استخدمت النواة هذه المعلومات كتلميح لمقدار المساحة التي ستخصصها مبدئيًا في هياكل البيانات الداخلية التي تصف الأحداث. (إذا لزم الأمر، ستخصص النواة مساحة أكبر إذا تجاوز استخدام المتصل التلميح المعطى في size.) في الوقت الحاضر، لم يعد هذا التلميح مطلوبًا (تقوم النواة بحجم هياكل البيانات المطلوبة ديناميكيًا دون الحاجة إلى التلميح)، لكن يجب أن يكون size أكبر من الصفر، لضمان التوافق مع الإصدارات السابقة عند تشغيل تطبيقات epoll الجديدة على أنوية أقدم.
قبل لينكس 2.6.29، حدد معامل نواة /proc/sys/fs/epoll/max_user_instances مثيلات epoll النشطة لكل معرف مستخدم حقيقي، وتسبب في فشل epoll_create() مع EMFILE عند التجاوز.
انظر أيضًا¶
close(2), epoll_ctl(2), epoll_wait(2), ioctl_eventpoll(2), epoll(7)
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 8 فبراير 2026 | صفحات دليل لينكس 6.18 |