Gần đây tôi đã chuyển từ sử dụng kqueue sang GCD dispatch sources để theo dõi thay đổi tệp. Điều này đã làm việc tốt và dẫn đến một API đơn giản hơn nhiều. Tôi ghi lại chuyển đổi của tôi here. Vấn đề duy nhất tôi có là bây giờ tôi không thể truy cập vào các lá cờ trên sự kiện mà tôi đã có thể trong kqueue. Ví dụ với kqueue tôi đã có thể kiểm tra xem các tập tin đã bị xóa, đổi tên, hoặc các thuộc tính của nó đã được thay đổi như sau:Grand Central Dispatch (GCD) gửi cờ nguồn
struct kevent event;
...
if(event.flag & EV_DELETE)
{
printf("File was deleted\n");
}
là API này không có sẵn với GCD hay tôi cần phải thiết lập các nguồn công văn lên cho mỗi lá cờ tôi muốn nghe. Hoặc là tốt nhất để sử dụng kqueue vì nó cung cấp khả năng hiển thị lớn hơn cho sự kiện đã xảy ra.
Tôi đã không thực sự đọc câu hỏi của bạn, nhưng tôi đã chỉnh sửa nó để danh tiếng của bạn có thể là 1337. Ok tôi sẽ đọc ngay bây giờ. – morningstar