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