io_cancel(2) - wariua/manpages-ko GitHub Wiki

NAME

io_cancel - 미처리 비동기 I/O λ™μž‘ μ·¨μ†Œν•˜κΈ°

SYNOPSIS

#include <linux/aio_abi.h>          /* ν•„μš”ν•œ νƒ€μž… μ •μ˜ */

int io_cancel(aio_context_t ctx_id, struct iocb *iocb,
              struct io_event *result);

주의: 이 μ‹œμŠ€ν…œ ν˜ΈμΆœμ— λŒ€ν•œ glibc λž˜νΌκ°€ μ—†λ‹€. NOTES μ°Έκ³ .

DESCRIPTION

io_cancel() μ‹œμŠ€ν…œ ν˜ΈμΆœμ€ μ•žμ„œ io_submit(2)으둜 μ œμΆœν•œ 비동기 I/O λ™μž‘μ„ μ·¨μ†Œν•˜λ €κ³  μ‹œλ„ν•œλ‹€. iocb μΈμžλŠ” μ·¨μ†Œν•  λ™μž‘μ„ λ‚˜νƒ€λ‚΄λ©° ctx_id μΈμžλŠ” λ™μž‘μ„ μ œμΆœν–ˆλ˜ AIO λ¬Έλ§₯이닀. λ™μž‘μ„ μ„±κ³΅μ μœΌλ‘œ μ·¨μ†Œν•œ 경우 μ΄λ²€νŠΈκ°€ μ™„λ£Œ 큐둜 λ“€μ–΄κ°€μ§€ μ•Šκ³  resultκ°€ κ°€λ¦¬ν‚€λŠ” λ©”λͺ¨λ¦¬λ‘œ λ³΅μ‚¬λœλ‹€.

RETURN VALUE

성곡 μ‹œ io_cancel()은 0을 λ°˜ν™˜ν•œλ‹€. μ‹€νŒ¨ λ°˜ν™˜μ— λŒ€ν•΄μ„  NOTESλ₯Ό 보라.

ERRORS

EAGAIN
μ§€μ •ν•œ iocbκ°€ μ·¨μ†Œλ˜μ§€ μ•Šμ•˜λ‹€.
EFAULT
ν•œ 자료 ꡬ쑰가 μœ νš¨ν•˜μ§€ μ•Šμ€ 데이터λ₯Ό 가리킀고 μžˆλ‹€.
EINVAL
ctx_id둜 μ§€μ •ν•œ AIO λ¬Έλ§₯이 μœ νš¨ν•˜μ§€ μ•Šλ‹€.
ENOSYS
이 μ•„ν‚€ν…μ²˜μ— io_cancel()이 κ΅¬ν˜„λΌ μžˆμ§€ μ•Šλ‹€.

VERSIONS

λ¦¬λˆ…μŠ€ 2.5μ—μ„œ 비동기 I/O μ‹œμŠ€ν…œ ν˜ΈμΆœλ“€μ΄ 처음 λ“±μž₯ν–ˆλ‹€.

CONFORMING TO

io_cancel()은 λ¦¬λˆ…μŠ€ μ „μš©μ΄λ―€λ‘œ 이식성이 μžˆμ–΄μ•Ό ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ—μ„œλŠ” μ‚¬μš©ν•˜μ§€ 말아야 ν•œλ‹€.

NOTES

glibcμ—μ„œ 이 μ‹œμŠ€ν…œ 호좜의 래퍼λ₯Ό μ œκ³΅ν•˜μ§€ μ•ŠλŠ”λ‹€. syscall(2)을 μ΄μš©ν•΄ ν˜ΈμΆœν•  μˆ˜λ„ μžˆλ‹€. ν•˜μ§€λ§Œ μ•„λ§ˆ κ·Έλ³΄λ‹€λŠ” libaioμ—μ„œ μ œκ³΅ν•˜λŠ” io_cancel() 래퍼 ν•¨μˆ˜λ₯Ό μ“°κ³  싢을 것이닀.

참고둜 libaio 래퍼 ν•¨μˆ˜μ—μ„œλŠ” ctx_id μΈμžμ— λ‹€λ₯Έ νƒ€μž…(io_context_t)을 μ“΄λ‹€. λ˜ν•œ libaio λž˜νΌμ—μ„œλŠ” 일반적인 C 라이브러리 였λ₯˜ ν‘œμ‹œ 관행을 λ”°λ₯΄μ§€ μ•ŠλŠ”λ‹€. 즉 였λ₯˜ μ‹œμ— 음수 였λ₯˜ 번호λ₯Ό (ERRORS에 λ‚˜μ—΄λœ κ°’λ“€ 쀑 ν•˜λ‚˜μ˜ 음수 값을) λ°˜ν™˜ν•œλ‹€. syscall(2)을 톡해 μ‹œμŠ€ν…œ ν˜ΈμΆœμ„ λΆ€λ₯΄λŠ” κ²½μš°μ—λŠ” λ°˜ν™˜ 값이 일반적인 였λ₯˜ ν‘œμ‹œ 관행을 λ”°λ₯Έλ‹€. 즉 -1이고 errno에 였λ₯˜λ₯Ό λ‚˜νƒ€λ‚΄λŠ” (μ–‘μˆ˜) 값이 μ„€μ •λœλ‹€.

SEE ALSO

io_destroy(2), io_getevents(2), io_setup(2), io_submit(2), aio(7)


2017-09-15

⚠️ **GitHub.com Fallback** ⚠️