aio_read(3) - wariua/manpages-ko GitHub Wiki
aio_read - λΉλκΈ° μ½κΈ°
#include <aio.h>
int aio_read(struct aiocb *aiocbp);
-lrt
λ‘ λ§ν¬.
aio_read()
ν¨μλ aiocbp
κ° κ°λ¦¬ν€λ λ²νΌμ κΈ°μ λ I/O μμ²μ νμ λ£λλ€. μ΄ ν¨μλ read(2)
μ λΉλκΈ° ννμ΄λ€. λ€μ νΈμΆμμ
read(fd, buf, count)
μΈμλ€μ΄ κ°κ° aiocbp
κ° κ°λ¦¬ν€λ ꡬ쑰체μ aio_fildes
, aio_buf
, aio_nbytes
νλμ (μμλλ‘) λμνλ€. (aiocb
ꡬ쑰체μ λν μ€λͺ
μ aio(7) μ°Έκ³ .)
νμΌ μ€νμ
κ³Ό μκ΄μμ΄ μ λ μμΉ aiocbp->aio_offset
λΆν° λ°μ΄ν°λ₯Ό μ½λλ€. νΈμΆ νμ νμΌ μ€νμ
κ°μ λͺ
μΈλΌ μμ§ μλ€.
"λΉλκΈ°"λΌλ κ²μ μμ²μ νμ λ£μλ§μ μ΄ νΈμΆμ΄ λ°ννλ€λ λ»μ΄λ€. νΈμΆ λ°ν λ μ½κΈ°κ° μλ£λΌ μμ μλ μκ³ μλ μλ μλ€. μλ£ μ¬λΆλ₯Ό aio_error(3)λ‘ κ²μ¬νλ€. κ·Έλ¦¬κ³ μλ£λ I/O λμμ λ°ν μνλ₯Ό aio_return(3)μΌλ‘ μ»λλ€. aiocbp->aio_sigevent
λ₯Ό μ μ ν μ€μ ν΄μ I/O μλ£ μλ¦Όμ λΉλκΈ°μ μΌλ‘ λ°μ μ μλ€. μμΈν λ΄μ©μ sigevent(7) μ°Έκ³ .
_POSIX_PRIORITIZED_IO
κ° μ μλΌ μμΌλ©° μ΄ νμΌμμ μ§μνλ κ²½μ° νΈμΆ νλ‘μΈμ€μ μ°μ μμμμ aiocbp->aio_reqprio
λ₯Ό λΊ μ°μ μμλ‘ λΉλκΈ° λμμ μ μΆνλ€.
aiocbp->aio_lio_opcode
νλλ 무μνλ€.
μ κ· νμΌμμ μ΅λ μ€νμ λλ¨Έμμλ μ΄λ€ λ°μ΄ν°λ μ½μ§ μλλ€.
μ±κ³΅ μ 0μ λ°ννλ€. μ€λ₯ μ μμ²μ΄ νμ λ€μ΄κ°μ§ μκ³ , -1μ λ°ννλ©° errno
λ₯Ό μ μ ν μ€μ νλ€. μ€λ₯λ₯Ό λμ€μ νμ§ν κ²½μ° aio_return(3)(μν -1 λ°ν)μ΄λ aio_error(3)(errno
λ‘ λ°μμ EBADF
κ°μ μ€λ₯ μν)λ₯Ό ν΅ν΄ λ³΄κ³ νλ€.
EAGAIN
- μμ λΆμ‘±.
EBADF
-
aio_fildes
κ° μ½κΈ° κ°λ₯νκ² μ΄λ¦° μ ν¨ν νμΌ λμ€ν¬λ¦½ν°κ° μλλ€. EINVAL
-
aio_offset
,aio_reqprio
,aio_nbytes
μ€ νλ μ΄μμ΄ μ ν¨νμ§ μλ€. ENOSYS
-
aio_read()
κ° κ΅¬νλΌ μμ§ μλ€. EOVERFLOW
- νμΌμ΄ μ κ· νμΌμ΄λ©° νμΌ λ μ μμ μ½κΈ°λ₯Ό μμν΄μ μ΅μ ν λ°μ΄νΈλ₯Ό μ½μΌλ € νλλ° μμ μμΉκ° νμΌμ μ΅λ μ€νμ μ μ§λ μ§μ μ΄λ€.
glibc 2.1λΆν° aio_read()
ν¨μκ° μ¬μ© κ°λ₯νλ€.
μ΄ μ μμ μ¬μ©νλ μ©μ΄λ€μ λν μ€λͺ μ attributes(7)λ₯Ό 보λΌ.
μΈν°νμ΄μ€ | μμ± | κ° |
---|---|---|
aio_read() |
μ€λ λ μμ μ± | MT-Safe |
POSIX.1-2001, POSIX.1-2008.
μ μ΄ λΈλ‘ λ²νΌλ₯Ό μ¬μ©νκΈ° μ μ 0μΌλ‘ μ±μ°λ κ² μ’λ€. μ½κΈ° λμμ΄ μ§ν μ€μΈ λμ μ μ΄ λΈλ‘μ΄ λ³κ²½λμ΄μ μ λλ€. μ½μ΄μ μ±μΈ λ²νΌ μμμ λμ μ€μ μ κ·Όν΄μλ μ λλ©°, μ κ·Ό μ κ·μ λΌ μμ§ μμ κ²°κ³Όκ° λ°μν μ μλ€. κ΄λ ¨ λ©λͺ¨λ¦¬ μμλ€μ΄ μ ν¨ν μνλ‘ μ μ§λΌμΌ νλ€.
λμμ μ΄λ€μ§λ I/O λμλ€μ κ°μ aiocb
ꡬ쑰체λ₯Ό μ§μ νλ κ²°κ³Όλ κ·μ λΌ μμ§ μλ€.
aio(7) μ°Έκ³ .
aio_cancel(3), aio_error(3), aio_fsync(3), aio_return(3), aio_suspend(3), aio_write(3), lio_listio(3), aio(7)
2017-09-15