programing

일반 파일에 이폴링

iphone6s 2023. 9. 19. 20:54
반응형

일반 파일에 이폴링

할 수 있다epoll(리눅스에서) 일반 파일에 어떻게든 유용합니까?주로 소켓과 함께 사용하는 것으로 알고 있지만 궁금할 뿐입니다.

사실 그렇지 않아요.epoll파이프 및 소켓과 같이 읽기/쓰기 시 일반적으로 차단 동작을 보이는 파일 설명자에 대해서만 의미가 있습니다.일반 파일 설명자는 항상 결과를 반환하거나 파일 끝을 즉시 반환합니다.epoll그들을 위해 유용한 일을 하지 않을 겁니다

EPERM으로 epoll_ctl에서 실패할 것 같습니다.

   EPERM  The target file fd does not support epoll.

파일에 없는 경우poll()인터페이스.

실제 코드는 http://lxr.linux.no/ #linux+v3.1/fs/event poll.c#L1373입니다.

1373    /* The target file descriptor must support poll */
1374        error = -EPERM;
1375        if (!tfile->f_op || !tfile->f_op->poll)
1376                goto error_tgt_fput;
1377

언급URL : https://stackoverflow.com/questions/8057892/epoll-on-regular-files

반응형