Merged changes from danbell/master.

This commit is contained in:
Daniel Bell
2011-10-05 15:03:08 +11:00
2 changed files with 102 additions and 11 deletions

View File

@@ -260,9 +260,14 @@ function findConfiguration() {
return path;
}
var configState = {};
function loadConfigurationFile(filename) {
filename = filename || findConfiguration();
if (filename) {
if (filename && (!configState.lastFilename || filename !== configState.lastFilename ||
!configState.lastMTime || fs.statSync(filename).mtime !== configState.lastMTime)) {
configState.lastFilename = filename;
configState.lastMTime = fs.statSync(filename).mtime;
return JSON.parse(fs.readFileSync(filename, "utf8"));
}
return undefined;
@@ -279,8 +284,6 @@ function configureOnceOff(config) {
}
}
var configState = {};
function reloadConfiguration() {
var filename = configState.filename || findConfiguration(),
mtime;
@@ -296,15 +299,11 @@ function reloadConfiguration() {
}
if (configState.lastFilename && configState.lastFilename === filename) {
if (mtime.getTime() > configState.lastMTime.getTime()) {
configState.lastMTime = mtime;
} else {
filename = null;
configureOnceOff(loadConfigurationFile(filename));
}
} else {
configState.lastFilename = filename;
configState.lastMTime = mtime;
configureOnceOff(loadConfigurationFile(filename));
}
configureOnceOff(loadConfigurationFile(filename));
}
function initReloadConfiguration(filename, options) {