Re: How to check whether directory tree has changed?
Re: How to check whether directory tree has changed?
- Subject: Re: How to check whether directory tree has changed?
- From: Gabriel Zachmann via Cocoa-dev <email@hidden>
- Date: Sat, 21 Dec 2019 18:56:51 +0100
Thanks a lot!
Does it really watch subfolders, too?
Also, it seems to me like it works only while the program is running.
I am mostly interested in changes that happen "behind the program's back",
i.e., while it is *not* running.
Does your code really handle that?
Best regards, Gabriel
> I’ve used dispatch stuff. I found this with a quick google… it should be
> close to what one would need to monitor a folder.
> int fildes = open("/path/to/directory", O_RDONLY);
>
> dispatch_queue_t queue =
> dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0);
> dispatch_source_t source = dispatch_source_create(DISPATCH_SOURCE_TYPE_VNODE,
> fildes, DISPATCH_VNODE_DELETE | DISPATCH_VNODE_WRITE | DISPATCH_VNODE_EXTEND
> | DISPATCH_VNODE_RENAME | DISPATCH_VNODE_REVOKE, queue);
>
> dispatch_source_set_event_handler(source, ^{
> // ... handle changes
> });
>
> dispatch_source_set_cancel_handler(source, ^{
> // ... handle cancel
> });
>
> dispatch_resume(source); // Start monitoring
>
> // And sometime later
> dispatch_source_cancel(source); // Stop monitoring
_______________________________________________
Cocoa-dev mailing list (email@hidden)
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:
This email sent to email@hidden