only close watcher when it's actually ready

This commit is contained in:
Iuri Matias 2018-05-15 17:20:43 -04:00
parent a03757a5e6
commit 760bd984d8
1 changed files with 8 additions and 3 deletions

View File

@ -41,8 +41,9 @@ class Watch {
stop() { stop() {
this.fileWatchers.forEach(fileWatcher => { this.fileWatchers.forEach(fileWatcher => {
fileWatcher.close(); if (fileWatcher.shouldClose) return;
fileWatcher = null; if (fileWatcher.isReady) fileWatcher.close();
fileWatcher.shouldClose = true;
}); });
this.fileWatchers = []; this.fileWatchers = [];
} }
@ -125,7 +126,11 @@ class Watch {
.on('add', path => changeCallback('add', path)) .on('add', path => changeCallback('add', path))
.on('change', path => changeCallback('change', path)) .on('change', path => changeCallback('change', path))
.on('unlink', path => changeCallback('remove', path)) .on('unlink', path => changeCallback('remove', path))
.on('ready', doneCallback); .once('ready', () => {
configWatcher.isReady = true;
if (configWatcher.shouldClose) configWatcher.close();
doneCallback();
});
} }
} }