1
저는 Srinivasa Raghavan이고이 그룹에 처음 있습니다.mac에서 F_NOCACHE와 (과) 함께 도움이 필요합니다.
파일을 캐싱하지 않는 문제가 있습니다. 코드는 다음과 같습니다
문제가 있었다main()
{
int fd;
char buf[512] = {'\0'};
fd = fopen("Sample.bin",O_RDONLY);
fcntl(fd, F_NOCACHE, 1);
fcntl(fd, F_RDAHEAD, 1);
read(fd, buf, sizeof(buf));
close(fd);
if(buf[0] == 'x')
print("non-cached\n");
else
printf("cached\n")
}
의 F_NOCACHE이 제대로 작동하지 않고, 나는이 메시지가 모든 시간 만 캐시. firware는 항상 sample.bin에서 'x'값을 업데이트합니다.
아래 코드와 같이 전체 내용 (open, fcntl, read 및 close)을 무한 루프에 넣으면 (위와 같이 오랜 시간이 걸립니다) 위 코드가 작동합니다. 정말 일주일 동안이 붙어 있어요
main()
{
while(1)
{
open...
fcntl(.., F_NOCACHE)
read(....
close..
if(buf[0] == 'x')
break;
}
}
, 나는 F_NOCACHE의 정확한 동작을 알고 싶어하고, 어떤 정보가 높게 평가 될 것입니다. 사전에
감사합니다, 바사 라 하반 그것을 위해 무엇 아니다