Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

fsync

파일의 내부 상태를 장치와 동기화 시킨다.

사용 법

#include <unistd.h>

int fsync(int fd);

설명

fsync() 함수는 파일이 내부적으로 가지고 있는 모든 데이터를, 파일 지정 번호 fd가 가리키는 디스크 장치로 옮긴다 (flushes).

때때로 fflush(:3)함수 대신에 사용하기도 한다.

fflush함수는 파일 스트림에 대해서 사용하는 고 수준 함수이며, fsync는 파일 지정 번호에 대해서 사용하는 저 수준 함수다.

fflush함수는 유저 공간 버퍼만을 비운다. 데이터가 디스크에 확실히 저장되게 하려면 fsync 혹은 sync로 커널 버퍼를 비워야 한다.

반환 값

성공하면 0이 아닌 값을 실패하면 -1을 반환한다.

에러 코드

EBAFD fd가 올바른 파일 지정 번호가 아니다. EIO 동기화 하는 동안 에러가 발생했다. EROFS, EINVAL fd가 동기화를 지원하는 파일(:12)이 아니다.