AIO_CANCEL
Section: Linux Programmer's Manual (3)
Updated: 2020-06-09
Index
JM Home Page
roff page
 
名前
aio_cancel - 完了していない非同期 I/O リクエストをキャンセルする
 
書式
#include <aio.h>
int aio_cancel(int fd, struct aiocb *aiocbp);
-lrt でリンクする。
 
説明
aio_cancel() 関数は、ファイルディスクリプター fd についての完了して
いない非同期 I/O リクエストをキャンセルしようとする。 aiocbp が
NULL の場合、そのような全てのリクエストがキャンセルされる。 aiocbp
が NULL でない場合、aiocbp で指された制御ブロックで記述されたリクエ
ストのみがキャンセルされる。(aiocb 構造体の説明は aio(7) を参照)
キャンセルされたリクエストに対して、通常の非同期通知が起こる
(aio(7) と sigevent(7) を参照)。
リクエストの返り値 (aio_return(3)) は -1 に設定され、
リクエストのエラー状態 (aio_error(3)) は ECANCELED に設定される。
キャンセルできないリクエストの制御ブロックは変更されない。
リクエストがキャンセルできない場合には、
aio_cancel() は通常の I/O 操作の実行後と同じように終了する。
(この場合、 aio_error(3) はステータス EINPROGRESSS を返す)。
aiocbp が NULL でなく、かつ fd が非同期操作が開始されたファイルディスクリプターと異なる場合、 生じる結果は不定である。
どの操作をキャンセルできるかは、実装定義である。
 
返り値
aio_cancel() 関数は以下のいずれかの値を返す。
- AIO_CANCELED
 - 
全てのリクエストが正常にキャンセルされた。
 - AIO_NOTCANCELED
 - 
指定されたリクエストのうち少なくとも一つが、実行中のため
キャンセルできなかった。この場合には、aio_error(3) を使って
個々のリクエストの状態を確認できる。
 - AIO_ALLDONE
 - 
呼び出しの前に全てのリクエストがすでに完了していた。
 - -1
 - 
エラーが発生した。
errno を確認することでエラーの原因を知ることができる。
 
 
エラー
- EBADF
 - 
fd が有効なファイルディスクリプターでない。
 - ENOSYS
 - 
aio_cancel() は実装されていない。
 
 
バージョン
aio_cancel() 関数は glibc 2.1 以降で利用できる。
 
属性
この節で使用されている用語の説明については、 attributes(7) を参照。
| インターフェース | 属性 | 値
  | 
| 
aio_cancel()
 | Thread safety | MT-Safe
  | 
 
準拠
POSIX.1-2001, POSIX.1-2008.
 
例
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)
 
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は
https://www.kernel.org/doc/man-pages/ に書かれている。
 Index
- 名前
 - 
 - 書式
 - 
 - 説明
 - 
 - 返り値
 - 
 - エラー
 - 
 - バージョン
 - 
 - 属性
 - 
 - 準拠
 - 
 - 例
 - 
 - 関連項目
 - 
 - この文書について
 - 
 
This document was created by
man2html,
using the manual pages.
Time: 16:46:40 GMT, November 24, 2023