aio_cancel(3)

الاسم
aio_cancel - إلغاء طلب إدخال/إخراج غير متزامن معلق

المكتبة
مكتبة الوقت الحقيقي (librt، -lrt)

موجز
#include <aio.h>

int aio_cancel(int fd, struct aiocb *aiocbp);

الوصف
تحاول الدالة aio_cancel() إلغاء طلبات الإدخال/الإخراج غير المتزامنة المعلقة لوصف الملف fd. إذا كان aiocbp فارغًا (NULL)، أُلغيَت جميع هذه الطلبات. وإلا، أُلغي فقط الطلب الموصوف بواسطة كتلة التحكم المشار إليها بواسطة aiocbp. (انظر aio(7) لوصف بنية aiocb.)

يحدث الإشعار غير المتزامن العادي للطلبات الملغاة (انظر aio(7) وsigevent(3type)). عُيّنت حالة إرجاع الطلب (aio_return(3)) إلى -1، وعُيّنت حالة خطأ الطلب (aio_error(3)) إلى ECANCELED. لم تُغير كتلة التحكم للطلبات التي لا يمكن إلغاؤها.

إذا لم يمكن إلغاء الطلب، فسينتهي بالطريقة المعتادة بعد تنفيذ عملية الإدخال/الإخراج. (في هذه الحالة، سترجع aio_error(3) الحالة EINPROGRESSS.)

إذا لم يكن aiocbp فارغًا، واختلف fd عن واصف الملف الذي بدأت به العملية غير المتزامنة، حدثت نتائج غير محددة.

العمليات القابلة للإلغاء مُعرّفة حسب التنفيذ.

قيمة الإرجاع
ترجع الدالة aio_cancel() إحدى القيم التالية:

AIO_CANCELED
    أُلغيَت جميع الطلبات بنجاح.

AIO_NOTCANCELED
    لم يُلغَ طلب واحد على الأقل من الطلبات المحددة لأنه كان قيد التنفيذ. في هذه الحالة، يمكن فحص حالة الطلبات الفردية باستخدام aio_error(3).

AIO_ALLDONE
    أُكمِلَت جميع الطلبات بالفعل قبل الاستدعاء.

-1  حدث خطأ. يمكن العثور على الخطأ بفحص errno.

الأخطاء

EBADF
    fd ليس واصف ملف صالح.

ENOSYS
    aio_cancel() غير مُنفّذة.

السمات
للاطلاع على شرح للمصطلحات المستخدمة في هذا القسم، انظر attributes(7).
الواجهة | السمة | القيمة
aio_cancel() | سلامة الخيوط | MT-Safe

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

التاريخ
glibc 2.1. POSIX.1-2001.

أمثلة
انظر aio(7).

انظر أيضًا
aio_error(3), aio_fsync(3), aio_read(3), aio_return(3), aio_suspend(3), aio_write(3), lio_listio(3), aio(7)

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

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

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