Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FSEvents on macOS #11

Open
nathany opened this issue Jun 29, 2014 · 9 comments

Comments

Projects
None yet
5 participants
@nathany
Copy link
Member

commented Jun 29, 2014

Requested by @robfig at howeyc/fsnotify#54 in order to watch large trees.

To be implemented as a stand-alone repository for experimentation (#23) before determining how to incorporate it into fsnotify.

System requirements:

  • OS X 10.6 or better (matching the system requirements of Go 1.3). Though some features require 10.7, or perhaps even higher.
  • Likely require cgo with Xcode installed.

Prior work:

Reference:

@nathany

This comment has been minimized.

Copy link
Member Author

commented Dec 13, 2014

Work has begun on this as an external project that can eventually be used from fsnotify.
https://github.com/go-fsnotify/fsevents

TODO:

  • Integration tests
  • Refine API
  • EventFlags.String()

@nathany nathany referenced this issue Dec 13, 2014

Closed

TODO #6

0 of 3 tasks complete

@mattes mattes referenced this issue Jul 17, 2015

Closed

Other Plattforms? #1

@nathany nathany added platform and removed feature labels Jan 14, 2016

@nathany

This comment has been minimized.

Copy link
Member Author

commented Apr 20, 2016

Would it make sense to work in a monorepo for fsnotify? Bring the fsevents library into a subfolder and work on it here, even before it's integrated and used by fsnotify.

@samjacobson

This comment has been minimized.

Copy link

commented Apr 21, 2016

Yes, I agree that would make sense.

@nathany

This comment has been minimized.

Copy link
Member Author

commented Apr 21, 2016

Some people are using fsnotify/fsevents so we'd probably leave it there and just move maintenance here. We could put a message up over there -- or not.

I'm still undecided whether it should be internal/ here initially.

@nathany

This comment has been minimized.

Copy link
Member Author

commented Apr 21, 2016

I'm also not sure if we should try to move fsnotify towards this new driver system (#104), or build out something entirely new. Perhaps coming back later to retrofit fsnotify on top of an intermediary API.

@nathany nathany changed the title FSEvents on OS X FSEvents on macOS Oct 13, 2016

@abuchanan-nr

This comment has been minimized.

Copy link

commented Jan 11, 2019

Can someone explain what FSEvents is? I don't understand; afaict fsnotify already supports macOS and doesn't require cgo. Is that correct?

@PeterBocan

This comment has been minimized.

Copy link

commented Jan 21, 2019

Hello, what's the status?

@Timmmm

This comment has been minimized.

Copy link

commented Jan 23, 2019

Can someone explain what FSEvents is?

According to this page there are two mechanisms for monitoring files/directories on Mac: kernel queues (kqueues), or file system events (FSEvents).

File system events are intended to provide notification of changes with directory-level granularity. For most purposes, this is sufficient. In some cases, however, you may need to receive notifications with finer granularity. For example, you might need to monitor only changes made to a single file. For that purpose, the kernel queue (kqueue) notification system is more appropriate.

If you are monitoring a large hierarchy of content, you should use file system events instead, however, because kernel queues are somewhat more complex than kernel* events, and can be more resource intensive because of the additional user-kernel communication involved.

*I assume they meant file system events here.

@abuchanan-nr

This comment has been minimized.

Copy link

commented Jan 23, 2019

Ah! Makes sense. Thanks @Timmmm

I hope they will be (or currently are?) an optional part of fsnotify, so that we don't need to include cgo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.