file과 select요...
글쓴이: spinel1 / 작성시간: 월, 2004/01/12 - 7:11오후
fd = open(filename, O_RDONLY); lseek(fd, 0, SEEK_END); .... .... FD_ZERO(&readfds); maxfds = fd + 1; while(1) { FD_SET(fd, &readfds); select(maxfds, readfds, 0, 0, 0); if(FD_ISSET(fd, &readfds)) { nread = read(fd, str, 256); <--- 이부분 } }
코드는 대략 위와 같습니다.
제가 하려고 하는것은, 제가 짠 프로그램이 특정 파일을 감시하고 있다가 그 파일에 데이타가 업데이트 되면 그 내용을 읽으려 하는 것인데요. (대략 구현은 위에 내용처럼 했습니다.)
그런데 파일의 내용을 다 읽어 파일의 끝에 도달하면...
select에서 블럭이 되어야 하는데 블럭이 되지를 않네요.
계속해서 파일의 끝.. 그러니까 EOF를 읽고 있는건지....
nread에 0이 리턴되면서 블럭이 되지 않고 무한루프를 돌고 있습니다.
해결책은 없나요??
그다지 어려울것 같지 않은것 같은 문제인듯 한데, 생각을 하면 할수록 오리무중 이네요.
도와주세요~ ㅡ.ㅜ
Forums:
댓글 달기