diff --git a/src/cloudron.js b/src/cloudron.js index 87331305f..f24175d08 100644 --- a/src/cloudron.js +++ b/src/cloudron.js @@ -135,16 +135,19 @@ function initialize(callback) { function uninitialize(callback) { assert.strictEqual(typeof callback, 'function'); - mailer.stop(callback); + async.series([ + mailer.stop, + platform.uninitialize + ], callback); } function onConfigured(callback) { callback = callback || NOOP_CALLBACK; async.series([ + platform.initialize, addDnsRecords, configureAdmin, - platform.restartMail, mailer.start ], callback); } diff --git a/src/platform.js b/src/platform.js index 373e4d6b9..e0cfbf4ea 100644 --- a/src/platform.js +++ b/src/platform.js @@ -7,9 +7,7 @@ exports = module.exports = { events: new (require('events').EventEmitter)(), EVENT_READY: 'ready', - isReadySync: isReadySync, - - restartMail: startMail + isReadySync: isReadySync }; var apps = require('./apps.js'), diff --git a/src/server.js b/src/server.js index 76358bcce..07a4d2a05 100644 --- a/src/server.js +++ b/src/server.js @@ -270,7 +270,6 @@ function start(callback) { certificates.initialize, cloudron.initialize, // keep this here because it reads activation state that others depend on cloudron.configureAdmin, // keep this before cron to block heartbeats until cert is ready - platform.initialize, taskmanager.initialize, cron.initialize, gHttpServer.listen.bind(gHttpServer, config.get('port'), '127.0.0.1'), @@ -288,7 +287,6 @@ function stop(callback) { auth.uninitialize, cloudron.uninitialize, taskmanager.uninitialize, - platform.uninitialize, cron.uninitialize, database.uninitialize, gHttpServer.close.bind(gHttpServer),