Недавно я переключился с kqueue на Источники отправки GCD для мониторинга изменений файлов. Это хорошо сработало и привело к значительно более простому API. Я зарегистрировал свой переключатель здесь. Единственная проблема, с которой я сталкиваюсь, заключается в том, что теперь я не могу получить доступ к флагам события, которое я смог в kqueue. Например, с помощью kqueue я смог проверить, был ли файл удален, переименован или его атрибуты были изменены следующим образом:
struct kevent event;
...
if(event.flag & EV_DELETE)
{
printf("File was deleted\n");
}
Этот API недоступен с GCD или мне нужно настроить источники отправки для каждого флага, который я хотел бы прослушать. Или лучше использовать kqueue, поскольку он обеспечивает большую видимость события, которое произошло.