inotify / stat: возможное состояние гонки - PullRequest
0 голосов
/ 15 мая 2018

Два процесса в Linux в C, выполняемые от имени пользователя root, в основном делают следующее: (инициализация не отображается)

A:

fd=open("/watch/item", O_CREAT, 0);
close(fd);

B:

inotify_add_watch(inotify_fd, "/watch", IN_CREATE);
stat("/watch/item");
// then poll and process the inotify event

В крайне редких случаях stat() возвращает -1, но больше событий inotify больше не будет обнаружено.

Предполагается, что если есть условие гонки, когда событие inotify уже сгенерировано (inotify_add_watch() еще не сделал) но после этого stat() все еще возвращает -1?

...