| .\" Copyright (C) 2003 Free Software Foundation, Inc. |
| .\" |
| .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) |
| .\" This file is distributed according to the GNU General Public License. |
| .\" %%%LICENSE_END |
| .\" |
| .TH IO_DESTROY 2 2013-04-08 "Linux" "Linux Programmer's Manual" |
| .SH NAME |
| io_destroy \- destroy an asynchronous I/O context |
| .SH SYNOPSIS |
| .nf |
| .BR "#include <linux/aio_abi.h>" " /* Defines needed types */" |
| |
| .BI "int io_destroy(aio_context_t " ctx_id ); |
| .fi |
| |
| .IR Note : |
| There is no glibc wrapper for this system call; see NOTES. |
| .SH DESCRIPTION |
| .PP |
| The |
| .BR io_destroy () |
| system call |
| will attempt to cancel all outstanding asynchronous I/O operations against |
| .IR ctx_id , |
| will block on the completion of all operations |
| that could not be canceled, and will destroy the |
| .IR ctx_id . |
| .SH RETURN VALUE |
| On success, |
| .BR io_destroy () |
| returns 0. |
| For the failure return, see NOTES. |
| .SH ERRORS |
| .TP |
| .B EFAULT |
| The context pointed to is invalid. |
| .TP |
| .B EINVAL |
| The AIO context specified by \fIctx_id\fP is invalid. |
| .TP |
| .B ENOSYS |
| .BR io_destroy () |
| is not implemented on this architecture. |
| .SH VERSIONS |
| .PP |
| The asynchronous I/O system calls first appeared in Linux 2.5. |
| .SH CONFORMING TO |
| .PP |
| .BR io_destroy () |
| is Linux-specific and should not be used in programs |
| that are intended to be portable. |
| .SH NOTES |
| Glibc does not provide a wrapper function for this system call. |
| You could invoke it using |
| .BR syscall (2). |
| But instead, you probably want to use the |
| .BR io_destroy () |
| wrapper function provided by |
| .\" http://git.fedorahosted.org/git/?p=libaio.git |
| .IR libaio . |
| |
| Note that the |
| .I libaio |
| wrapper function uses a different type |
| .RI ( io_context_t ) |
| .\" But glibc is confused, since <libaio.h> uses 'io_context_t' to declare |
| .\" the system call. |
| for the |
| .I ctx_id |
| argument. |
| Note also that the |
| .I libaio |
| wrapper does not follow the usual C library conventions for indicating errors: |
| on error it returns a negated error number |
| (the negative of one of the values listed in ERRORS). |
| If the system call is invoked via |
| .BR syscall (2), |
| then the return value follows the usual conventions for |
| indicating an error: \-1, with |
| .I errno |
| set to a (positive) value that indicates the error. |
| .SH SEE ALSO |
| .BR io_cancel (2), |
| .BR io_getevents (2), |
| .BR io_setup (2), |
| .BR io_submit (2), |
| .BR aio (7) |
| .\" .SH AUTHOR |
| .\" Kent Yoder. |