Comments (2)
That's interesting. It's possible the Java WatchService is not firing any events in that case, because the event occurred on the parent and not on the watched directories.
Which operating systems have you tried on?
I definitely think we need more clear and consistent behavior when roots and parents of roots get deleted.
from directory-watcher.
I've tested it on Windows and macos, and there's a bit different behaviour.
Initial condition: start watcher on some parentDir/watchedDir
Delete watchedDir
- Mac: deletion is detected and the watcher exists
- Win: deletion is not detected, watcher runs
Delete parentDir/watchedDir
- Mac: deletion is not detected, watcher runs
- Win: deletion is not detected, watcher runs
So, looks like macos's native library detects when the path is gone, and win's doesn't.
I don't know the implementation details in depths but probably a simple periodical check that the watching path is still resolved should be sufficient.
from directory-watcher.
Related Issues (20)
- close() doesn't properly cleanup OS-X fsevent streams HOT 2
- Outright does not work at all HOT 1
- [JAVA] Multiple copy/delete operations do not emit 'CREATE' events afterwards HOT 2
- [JAVA] 0.9.3 Copy & Remove of folder structure does not produce CREATE events HOT 1
- Missing tag `0.9.6` upstream HOT 1
- New Release HOT 4
- Absolute path prevents events on macOS HOT 3
- Question on Using 2 Classes HOT 1
- LibCarbon failure on MacOS Big Sur HOT 12
- Allow watching directory non-recursively HOT 1
- Unable to detect file deletion events HOT 27
- File creation on Windows is sometimes not detected for copied files HOT 3
- Ensure consistent behavior when a root watched directory is deleted
- Define a minimal public API
- DirectoryWatcher.watch() throws ClosedWatchServiceException when Watcher is closed HOT 4
- Access denied stops walking file tree HOT 7
- Does it work with mounted volumes with Docker? HOT 4
- Missing events when file is created too soon after watcher is initialized HOT 3
- Modification events are lost depending on editor - how the file is written - neovim HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from directory-watcher.