aio_read(3) - wariua/manpages-ko GitHub Wiki

NAME

aio_read - 비동기 읽기

SYNOPSIS

#include <aio.h>

int aio_read(struct aiocb *aiocbp);

-lrt둜 링크.

DESCRIPTION

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 ν•„λ“œλŠ” λ¬΄μ‹œν•œλ‹€.

μ •κ·œ νŒŒμΌμ—μ„œ μ΅œλŒ€ μ˜€ν”„μ…‹ λ„ˆλ¨Έμ—μ„œλŠ” μ–΄λ–€ 데이터도 읽지 μ•ŠλŠ”λ‹€.

RETURN VALUE

성곡 μ‹œ 0을 λ°˜ν™˜ν•œλ‹€. 였λ₯˜ μ‹œ μš”μ²­μ΄ 큐에 λ“€μ–΄κ°€μ§€ μ•Šκ³ , -1을 λ°˜ν™˜ν•˜λ©° errnoλ₯Ό 적절히 μ„€μ •ν•œλ‹€. 였λ₯˜λ₯Ό λ‚˜μ€‘μ— νƒμ§€ν•œ 경우 aio_return(3)(μƒνƒœ -1 λ°˜ν™˜)μ΄λ‚˜ aio_error(3)(errno둜 λ°›μ•˜μ„ EBADF 같은 였λ₯˜ μƒνƒœ)λ₯Ό 톡해 λ³΄κ³ ν•œλ‹€.

ERRORS

EAGAIN
μžμ› λΆ€μ‘±.
EBADF
aio_fildesκ°€ 읽기 κ°€λŠ₯ν•˜κ²Œ μ—΄λ¦° μœ νš¨ν•œ 파일 λ””μŠ€ν¬λ¦½ν„°κ°€ μ•„λ‹ˆλ‹€.
EINVAL
aio_offset, aio_reqprio, aio_nbytes 쀑 ν•˜λ‚˜ 이상이 μœ νš¨ν•˜μ§€ μ•Šλ‹€.
ENOSYS
aio_read()κ°€ κ΅¬ν˜„λΌ μžˆμ§€ μ•Šλ‹€.
EOVERFLOW
파일이 μ •κ·œ 파일이며 파일 끝 μ „μ—μ„œ 읽기λ₯Ό μ‹œμž‘ν•΄μ„œ μ΅œμ†Œ ν•œ λ°”μ΄νŠΈλ₯Ό 읽으렀 ν•˜λŠ”λ° μ‹œμž‘ μœ„μΉ˜κ°€ 파일의 μ΅œλŒ€ μ˜€ν”„μ…‹μ„ μ§€λ‚œ 지점이닀.

VERSIONS

glibc 2.1λΆ€ν„° aio_read() ν•¨μˆ˜κ°€ μ‚¬μš© κ°€λŠ₯ν•˜λ‹€.

ATTRIBUTES

이 μ ˆμ—μ„œ μ‚¬μš©ν•˜λŠ” μš©μ–΄λ“€μ— λŒ€ν•œ μ„€λͺ…은 attributes(7)λ₯Ό 보라.

μΈν„°νŽ˜μ΄μŠ€ 속성 κ°’
aio_read() μŠ€λ ˆλ“œ μ•ˆμ „μ„± MT-Safe

CONFORMING TO

POSIX.1-2001, POSIX.1-2008.

NOTES

μ œμ–΄ 블둝 버퍼λ₯Ό μ‚¬μš©ν•˜κΈ° 전에 0으둜 μ±„μš°λŠ” 게 μ’‹λ‹€. 읽기 λ™μž‘μ΄ μ§„ν–‰ 쀑인 λ™μ•ˆ μ œμ–΄ 블둝이 λ³€κ²½λ˜μ–΄μ„  μ•ˆ λœλ‹€. μ½μ–΄μ„œ μ±„μšΈ 버퍼 μ˜μ—­μ— λ™μž‘ 쀑에 μ ‘κ·Όν•΄μ„œλŠ” μ•ˆ 되며, μ ‘κ·Ό μ‹œ κ·œμ •λΌ μžˆμ§€ μ•Šμ€ κ²°κ³Όκ°€ λ°œμƒν•  수 μžˆλ‹€. κ΄€λ ¨ λ©”λͺ¨λ¦¬ μ˜μ—­λ“€μ΄ μœ νš¨ν•œ μƒνƒœλ‘œ μœ μ§€λΌμ•Ό ν•œλ‹€.

λ™μ‹œμ— μ΄λ€„μ§€λŠ” I/O λ™μž‘λ“€μ— 같은 aiocb ꡬ쑰체λ₯Ό μ§€μ •ν•˜λŠ” κ²°κ³ΌλŠ” κ·œμ •λΌ μžˆμ§€ μ•Šλ‹€.

EXAMPLE

aio(7) μ°Έκ³ .

SEE ALSO

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

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