On Jan 17, 2015, at 2:27 PM, Trygve Inda <cocoa...@xericdesign.com> wrote:

> I am getting an error in the Console when shutting down a FSEvent monitor
> I have verified that [self prefBundlePath] points to a valid directory (a
> prefpane bundle).
> 
> BUG in libdispatch client: kevent[EVFILT_WRITE] delete: "No such file or
> directory" - 0x2
> 
> -(void)addFileEventCallback
> {
>    FSEventStreamContext fsStreamContext = {0, self, NULL, NULL, NULL};
> 
>    fsStream = FSEventStreamCreate (kCFAllocatorDefault, FSEventCallback,
> &fsStreamContext, (CFArrayRef) [NSArray arrayWithObject:[self
> prefBundlePath]], kFSEventStreamEventIdSinceNow, 3,
> kFSEventStreamCreateFlagWatchRoot);
>    FSEventStreamScheduleWithRunLoop (fsStream, CFRunLoopGetCurrent(),
> kCFRunLoopDefaultMode);
>    FSEventStreamStart (fsStream);
> 
> }
> 
> -(void)removeFileEventCallback
> {
>    FSEventStreamStop (fsStream);
>    FSEventStreamUnscheduleFromRunLoop (fsStream, CFRunLoopGetCurrent(),
> kCFRunLoopDefaultMode);
>    FSEventStreamInvalidate (fsStream);
>    FSEventStreamRelease (fsStream);
> }
> 
> Ideas?

Not so much a Cocoa question, but: are you sure that it's the FSEventStream 
tear-down that's causing that log message?

Are both of the above methods being called on the same thread?

You could try removing the call to FSEventStreamUnscheduleFromRunLoop().  
FSEventStreamInvalidate() unschedules it, too.

You say that the path being monitored references a valid directory.  Is it the 
same directory as it was when you set up the FSEventStream?  That is, have you 
moved or deleted the prefpane bundle that was there and created a new one in 
its place?  If it has changed, then it's a different inode and any 
previously-opened file descriptor would not refer to the one at the path any 
more.

Otherwise, can you reproduce it in a simple example program?  If so, file a bug 
report with Apple.

Regards,
Ken


_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to