FSEventStreamCreate: BUG in libdispatch client: kevent[EVFILT_WRITE]
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? ___ 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
Re: FSEventStreamCreate: BUG in libdispatch client: kevent[EVFILT_WRITE]
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
Re: FSEventStreamCreate: BUG in libdispatch client: kevent[EVFILT_WRITE]
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 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 This simple app does it too: -(void)applicationDidFinishLaunching:(NSNotification*)notification { FSEventStreamReffsStream; FSEventStreamContext fsStreamContext = {0, self, NULL, NULL, NULL}; fsStream = FSEventStreamCreate (kCFAllocatorDefault, FSMyEventCallback, fsStreamContext, (CFArrayRef) [NSArray arrayWithObject:@/Users/trygve/Library/PreferencePanes/MyPane.prefPane], kFSEventStreamEventIdSinceNow, 3, kFSEventStreamCreateFlagWatchRoot); FSEventStreamScheduleWithRunLoop (fsStream, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode); FSEventStreamStart (fsStream); FSEventStreamStop (fsStream); FSEventStreamInvalidate (fsStream); FSEventStreamRelease (fsStream); } void FSMyEventCallback (ConstFSEventStreamRef streamRef, void *clientCallBackInfo, size_t numEvents, void *eventPaths, const FSEventStreamEventFlags eventFlags[], const FSEventStreamEventId eventIds[]) { int i = 1; } ___ 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