1
제목으로. 프로그램은 첫 번째 이벤트를 기다린 다음 무한 루프로 들어갑니다. 왜 한 번에 하나의 이벤트 만 처리합니까?단일 inotify 읽기가 무한 루프를 만듭니다.
#include <stdio.h>
#include <stdlib.h>
#include <sys/inotify.h>
#include <unistd.h>
int main (int argc, char **argv)
{
int id, wd;
int a;
struct inotify_event e;
id = inotify_init();
wd = inotify_add_watch (id, "/home/andrea/Downloads", IN_CREATE);
puts ("waiting...");
while (read (id, &e, sizeof (struct inotify_event)))
{
printf ("created %s\n", e.name);
puts ("waiting...");
}
return 0;
}
음, 어쩌면 당연 하겠지만 내 질문은 : 왜 한 번에 하나의 이벤트 만 처리하지 않는 것입니까? –
아무도 대답하지 않았습니다. 글쎄, 코드가 구조체 (가변 길이 배열이 끝에 있음)를 잘못된 방식으로 관리한다는 것을 알았습니다. –