Niedawno zmieniłem z użycia kqueue na GCD dispatch sources, aby monitorować zmiany w plikach. To zadziałało dobrze i zaowocowało znacznie prostszym API. Udokumentowałem mój przełącznik here. Jedyny problem jaki mam to to, że teraz nie mogę uzyskać dostępu do flag na wydarzeniu, które udało mi się zrobić w kasynie. Na przykład z KQUEUE byłem w stanie sprawdzić, czy plik został usunięty, przemianowany lub jest to atrybuty zostały zmienione z następujących czynności:Flagi źródła wysyłania Grand Central Dispatch (GCD)
struct kevent event;
...
if(event.flag & EV_DELETE)
{
printf("File was deleted\n");
}
Jest to API niedostępne z GCD czy trzeba skonfigurować źródła wysyłkowe górę dla każdej flagi chciałbym słuchać. A może najlepiej użyć kqueue, ponieważ zapewnia on lepszą widoczność zdarzenia, które miało miejsce.
Tak naprawdę nie przeczytałem twojego pytania, ale udało mi się je przeczytać, więc twoja reputacja może być 1337. OK, przeczytam to teraz. – morningstar