Según Apple documentation, en la devolución de llamada a FSEvents
,FSEvents banderas archivos se configuran independientemente de las opciones de creación de flujo de eventos
/* 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
Sin embargo, el triple comprobar que la bandera kFSEventStreamCreateFlagFileEvents
no está siendo ajustado al llamar
FSEventStreamRef FSEventStreamCreate(
CFAllocatorRef allocator,
FSEventStreamCallback callback,
FSEventStreamContext *context,
CFArrayRef pathsToWatch,
FSEventStreamEventId sinceWhen,
CFTimeInterval latency,
FSEventStreamCreateFlags flags);
Pero no importa lo que hago, las banderas kFSEventStreamEventFlagItem*
todavía se están estableciendo, cuando los eventos se pasan a mí desde la API FSEvents
. Sospecho que esto es un error, pero no estoy seguro. Estoy usando OS X Lion 10.7.2
Código de ejemplo se puede encontrar aquí. http://stuconnolly.com/downloads/scevents/
EDITAR
La pregunta es:
alguien más ha experimentado los mismos resultados?
¿Es este un comportamiento en el que puedo confiar para verificar los indicadores de eventos de archivos?
¿Cuál es la pregunta? –
oops, agregó la pregunta. gracias por señalar – Tony
Ver lo mismo. OS 10.8.2 aquí. Definitivamente no se está comportando de la manera que sugiere la documentación. –