Theo Apple documentation, trong callback để FSEvents
,FSEvents cờ tập tin được thiết lập không phụ thuộc tùy chọn tạo dòng sự kiện
/* These flags are only set if you specified the FileEvents */
/* flags when creating the stream. */
kFSEventStreamEventFlagItemCreated = 0x00000100,
kFSEventStreamEventFlagItemRemoved = 0x00000200,
kFSEventStreamEventFlagItemInodeMetaMod = 0x00000400,
kFSEventStreamEventFlagItemRenamed = 0x00000800,
kFSEventStreamEventFlagItemModified = 0x00001000,
kFSEventStreamEventFlagItemFinderInfoMod = 0x00002000,
kFSEventStreamEventFlagItemChangeOwner = 0x00004000,
kFSEventStreamEventFlagItemXattrMod = 0x00008000,
kFSEventStreamEventFlagItemIsFile = 0x00010000,
kFSEventStreamEventFlagItemIsDir = 0x00020000,
kFSEventStreamEventFlagItemIsSymlink = 0x00040000
Tuy nhiên, tôi triple kiểm tra rằng cờ kFSEventStreamCreateFlagFileEvents
không được thiết lập khi gọi
FSEventStreamRef FSEventStreamCreate(
CFAllocatorRef allocator,
FSEventStreamCallback callback,
FSEventStreamContext *context,
CFArrayRef pathsToWatch,
FSEventStreamEventId sinceWhen,
CFTimeInterval latency,
FSEventStreamCreateFlags flags);
Nhưng bất kể tôi làm gì, cờ kFSEventStreamEventFlagItem*
vẫn đang được đặt khi các sự kiện được chuyển cho tôi từ API FSEvents
. Tôi nghi ngờ đây là một lỗi, nhưng tôi không hoàn toàn chắc chắn. Tôi đang sử dụng OS X Lion 10.7.2
Mã mẫu có thể được tìm thấy tại đây. http://stuconnolly.com/downloads/scevents/
EDIT
Câu hỏi đặt ra là:
Có ai khác có kinh nghiệm kết quả tương tự?
Đây có phải là hành vi mà tôi có thể dựa vào để kiểm tra các cờ sự kiện tệp không?
Vậy câu hỏi là gì? –
oops, đã thêm câu hỏi. cảm ơn vì đã chỉ ra – Tony
Thấy điều tương tự. OS 10.8.2 tại đây. Nó chắc chắn không hoạt động theo cách mà tài liệu gợi ý. –