-
Notifications
You must be signed in to change notification settings - Fork 415
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
Turn on incremental memo by default #4876
Conversation
Actually, CI demonstrates that the issue is present only on MacOS. I narrowed it down to the updated source not being copied to _build after running the build again. @aalekseyev anyway to make the test to wait for fsevents to pick up the outdated file before starting the build again? |
@rgrinberg, "waited for inotify sync" is supposed to correspond to exactly that: the idea is to wait until all file notification events up until that point are processed. My first thought was that maybe the Sync event doesn't happen at all (e.g. we don't watch the special file), but if that was the case then I think you'd just see a deadlock, instead. |
It seems that fsevents supports a "flush" operation that does the same as the inotify sync mechanism: https://developer.apple.com/documentation/coreservices/1445629-fseventstreamflushsync?language=objc |
Yeah, that looks useful but it would require us to abandon fswatch on MacOS and switch to fsvents directly.
…On Aug 31, 2021, 7:00 AM -0700, Jérémie Dimino ***@***.***>, wrote:
It seems that fsevents supports a "flush" operation that does the same as the inotify sync mechanism: https://developer.apple.com/documentation/coreservices/1445629-fseventstreamflushsync?language=objc
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
Indeed. In the long run that seems inevitable if we want proper fine grained file watching. fswatch/inotifywait were an easy way to bootstrap the system but they don't give us much control. For instance, we can't dynamically add watches with fswatch, so we can't watch external files and directories while we can by using the inotify or fsevents API directly. |
@rgrinberg can you disable the offending tests on OSX for now and merge this PR? And while you are at it, delete the environment variable and the old mode entirely. The new mode is usable enough now and there is going to be a fair amount of polishing to do before it's ready for release. So we might as well make the new mode the new reality ASAP. |
And also lazy in cases where it's not needed. Signed-off-by: Rudi Grinberg <[email protected]>
Signed-off-by: Rudi Grinberg <[email protected]>
Signed-off-by: Rudi Grinberg <[email protected]>
we are only going to rely on the incremental mode Signed-off-by: Rudi Grinberg <[email protected]>
f76ee98
to
efcf3b2
Compare
Is there a way to do enabled_if on inline tests? I'm not sure how to disable tests on OSX. |
Signed-off-by: Jeremie Dimino <[email protected]>
Putting it on the whole library stanza should work. I'm trying that. |
Signed-off-by: Jeremie Dimino <[email protected]>
For some reason this breaks error reporting with RPC (it now reports stale errors). Investigating as to what the cause is.