Hi, Martín! The issue observed on Linux with Inotify watcher. I use not recursive mode of EFSW and made external recursion to do some filtering of observed directories. When top directory removed i catch delete event only for it. Now i need remove watches for all children. But i don't know what child directories was in deleted directory. I investigege code and found recursive deletion only for recursive watch mode: https://bitbucket.org/SpartanJ/efsw/src/9a7cbec70b8a88b2e876a382f57c59f3796da0d9/src/efsw/FileWatcherInotify.cpp?at=default&fileviewer=file-view-default#FileWatcherInotify.cpp-477
I am sure it's wrong in the inotify case. Need always delete watches recursive. If some watched directory deleted and then created new directory with same name then old watcher will not deliver events for new one.
I'll made additional investigation for another OSes and let you know results Thanks