Fiche de suivi de l'aide inotify

Je suis à l'aide de inotify pour surveiller un local de fichier, par exemple "/root/temp" à l'aide de

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

Lorsque ce fichier est supprimé, le programme sera bloqué par read(fd, buf, bufSize) fonction. Même si je créer un nouveau "/root/temp" du fichier, le programme est encore en bloc par la fonction de lecture. Je me demande si inotify peut détecter que le fichier surveillé est créé et la fonction de lecture pouvez obtenir quelque chose à partir de fd, de sorte que la lecture ne sera pas bloqué pour toujours.
Voici mon code:

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);

J'ai surveillé tous les événements.

Pour détecter le fichier créations vous avez besoin de regarder dans le répertoire contenant le fichier.

OriginalL'auteur user572138 | 2011-01-12