Make the uninitialize funcs async

This commit is contained in:
Girish Ramakrishnan
2014-11-23 14:23:17 -08:00
parent 9a1013896c
commit 0ef7b3ebf6
6 changed files with 35 additions and 15 deletions
+5 -1
View File
@@ -99,7 +99,9 @@ function resume(callback) {
});
}
function uninitialize() {
function uninitialize(callback) {
assert(typeof callback === 'function');
if (gAppHealthTask) {
gAppHealthTask.kill();
gAppHealthTask = null;
@@ -108,6 +110,8 @@ function uninitialize() {
for (var appId in gTasks) {
stopTask(appId);
}
callback(null);
}
// http://dustinsenos.com/articles/customErrorsInNode
+5 -1
View File
@@ -80,7 +80,9 @@ function initialize(callback) {
callback(null);
}
function uninitialize() {
function uninitialize(callback) {
assert(typeof callback === 'function');
clearInterval(gBackupTimerId);
gBackupTimerId = null;
@@ -91,6 +93,8 @@ function uninitialize() {
gGetCertificateTimerId = null;
gCachedIp = null;
callback(null);
}
function getBackupUrl(callback) {
+5 -1
View File
@@ -38,7 +38,9 @@ function initialize(callback) {
gDatabase.run('PRAGMA busy_timeout=5000', callback);
}
function uninitialize() {
function uninitialize(callback) {
assert(typeof callback === 'function');
debug('Closing database');
gDatabase.close();
gDatabase = null;
@@ -46,6 +48,8 @@ function uninitialize() {
debug('Closing %d active transactions', gConnectionPool.length);
gConnectionPool.forEach(function (conn) { conn.close(); });
gConnectionPool = [ ];
callback(null);
}
function clear(callback) {
+5 -1
View File
@@ -43,13 +43,17 @@ function initialize(callback) {
callback(null);
}
function uninitialize() {
function uninitialize(callback) {
assert(typeof callback === 'function');
// TODO: interrupt processQueue as well
clearTimeout(gCheckDnsTimerId);
gCheckDnsTimerId = null;
debug(gMailQueue.length + ' mail items dropped');
gMailQueue = [ ];
callback(null);
}
function checkDns() {
+10 -10
View File
@@ -217,18 +217,18 @@ Server.prototype.stop = function (callback) {
var that = this;
if (!this.httpServer) {
return callback(null);
}
if (!this.httpServer) return callback(null);
cloudron.uninitialize();
updater.uninitialize();
apps.uninitialize();
mailer.uninitialize();
database.uninitialize();
async.series([
cloudron.uninitialize,
updater.uninitialize,
apps.uninitialize,
mailer.uninitialize,
database.uninitialize,
this.httpServer.close.bind(this.httpServer)
], function (error) {
if (error) console.error(error);
this.httpServer.close(function () {
that.httpServer.unref();
that.app = null;
callback(null);
+5 -1
View File
@@ -106,9 +106,13 @@ function initialize(callback) {
callback(null);
};
function uninitialize() {
function uninitialize(callback) {
assert(typeof callback === 'function');
clearTimeout(gCheckUpdatesTimeoutId);
gCheckUpdatesTimeoutId = null;
callback(null);
};
function isDev() {