forked from smfreegard/Haraka
-
Notifications
You must be signed in to change notification settings - Fork 6
/
daemonize.js
37 lines (32 loc) · 1.06 KB
/
daemonize.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
// daemonize
// This plugin should not be used any more
// Daemonization is now built-in to Haraka.
throw new Error('The daemonize plugin should not be used.' +
' See haraka -h CoreConfig for details');
// npm install daemon
var daemon;
try { daemon = require('daemon'); }
catch (err) {};
var cfg;
exports.register = function () {
cfg = this.config.get('daemonize.ini');
}
exports.hook_init_master = function (next) {
if (!daemon) {
this.lognotice('daemon library not found, run \'npm install daemon\' in your configuration directory to install it');
return next();
}
var log = (cfg.main.log_file)
? cfg.main.log_file : '/var/log/haraka.log';
var pid = (cfg.main.pid_file)
? cfg.main.pid_file : '/var/run/haraka.pid';
var self = this;
daemon.daemonize(log, pid, function (err, pid) {
if (err) {
self.logcrit('error starting daemon: ' + err);
return next(DENY, err);
}
self.lognotice('daemon started with pid: ' + pid);
return next();
});
}