Monitorando arquivo usando inotify

Estou usando o inotify para monitorar um arquivo local, por exemplo "/ root / temp" usando

inotify_add_watch(fd, "/root/temp", mask).

Quando este arquivo é excluído, o programa será bloqueado porread(fd, buf, bufSize) função. Mesmo se eu criar um novo arquivo "/ root / temp", o programa ainda será bloqueado pela função de leitura. Gostaria de saber se o inotify pode detectar que o arquivo monitorado foi criado e a função de leitura pode obter algo do fd, para que a leitura não seja bloqueada para sempre. Aqui está o meu código:

uint32_t mask = IN_ALL_EVENTS;
int fd = inotify_init();
int wd = inotify_add_watch(fd, "/root/temp", mask);
char *buf = new char[1000];
int nbytes = read(fd, buf, 500);

Eu monitorei todos os eventos.

questionAnswers(2)

yourAnswerToTheQuestion