C 언어에서 위치 기반 벡터 읽기에 캐시나 대기 방식 관련 옵션까지 지정하려면 preadv2()를 본다.
헤더와 선언
#include <sys/uio.h>
ssize_t preadv2(int fd, const struct iovec *iov, int iovcnt, off_t offset,
int flags);반환값과 주의점
실제 읽은 바이트 수를 반환한다. 오류는 -1이며 NOWAIT에서 즉시 읽을 데이터가 없으면 EAGAIN일 수 있다.
RWF_NOWAIT 같은 플래그는 커널과 파일 시스템의 지원이 필요하다. offset을 -1로 주는 경우에는 현재 파일 위치를 사용하고 갱신한다.
답글 달기