version 1.4, 2012/07/03 12:46:00
|
version 1.4.4.2, 2013/07/16 14:34:58
|
Line 12 terms:
|
Line 12 terms:
|
All of the documentation and software included in the ELWIX and AITNET |
All of the documentation and software included in the ELWIX and AITNET |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
Releases is copyrighted by ELWIX - Sofia/Bulgaria <info@elwix.org> |
|
|
Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012 | Copyright 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
by Michael Pounov <misho@elwix.org>. All rights reserved. |
|
|
Redistribution and use in source and binary forms, with or without |
Redistribution and use in source and binary forms, with or without |
Line 50 SUCH DAMAGE.
|
Line 50 SUCH DAMAGE.
|
#include "daemon.h" |
#include "daemon.h" |
|
|
|
|
io_enableDEBUG; |
|
|
|
cfg_root_t cfg; |
cfg_root_t cfg; |
sessions_t Sessions; |
sessions_t Sessions; |
sched_root_task_t *root; |
sched_root_task_t *root; |
Line 83 sigHand(int sig)
|
Line 81 sigHand(int sig)
|
case SIGHUP: |
case SIGHUP: |
cfgUnloadConfig(&cfg); |
cfgUnloadConfig(&cfg); |
if (!cfgLoadConfig(szCfgName, &cfg)) { |
if (!cfgLoadConfig(szCfgName, &cfg)) { |
ioDEBUG(1, "Config reload OK!"); | EVERBOSE(1, "Config reload OK!"); |
break; |
break; |
} |
} |
|
|
ioLIBERR(cfg); | ELIBERR(cfg); |
case SIGINT: |
case SIGINT: |
case SIGTERM: |
case SIGTERM: |
ioDEBUG(1, "Terminate MQTT service in progress"); | EVERBOSE(1, "Terminate MQTT service in progress"); |
Kill++; |
Kill++; |
break; |
break; |
case SIGCHLD: |
case SIGCHLD: |
Line 124 main(int argc, char **argv)
|
Line 122 main(int argc, char **argv)
|
batch++; |
batch++; |
break; |
break; |
case 'v': |
case 'v': |
io_incDebug; | e_incVerbose; |
| EVERBS(2) elwix_Debug |= ELWIX_DEBUG_TRACE; |
break; |
break; |
case 'h': |
case 'h': |
default: |
default: |
Line 189 main(int argc, char **argv)
|
Line 188 main(int argc, char **argv)
|
dup2(ret, STDERR_FILENO); |
dup2(ret, STDERR_FILENO); |
close(ret); |
close(ret); |
} |
} |
ioDEBUG(2, "Welcome MQTT service into shadow land!"); | EVERBOSE(2, "Welcome MQTT service into shadow land!"); |
break; |
break; |
default: |
default: |
ioDEBUG(2, "MQTT service go to shadow land ..."); | EVERBOSE(2, "MQTT service go to shadow land ..."); |
sleep(1); |
sleep(1); |
ret = 0; |
ret = 0; |
goto end; |
goto end; |
} |
} |
else |
else |
ioDEBUG(1, "Start service in batch mode ..."); | EVERBOSE(1, "Start service in batch mode ..."); |
|
|
memset(&sa, 0, sizeof sa); |
memset(&sa, 0, sizeof sa); |
sigemptyset(&sa.sa_mask); |
sigemptyset(&sa.sa_mask); |
Line 208 main(int argc, char **argv)
|
Line 207 main(int argc, char **argv)
|
sigaction(SIGTERM, &sa, NULL); |
sigaction(SIGTERM, &sa, NULL); |
sigaction(SIGCHLD, &sa, NULL); |
sigaction(SIGCHLD, &sa, NULL); |
sigaction(SIGPIPE, &sa, NULL); |
sigaction(SIGPIPE, &sa, NULL); |
ioDEBUG(2, "Service is ready for starting engine ..."); | EVERBOSE(2, "Service is ready for starting engine ..."); |
|
|
if ((sock = srv_Socket(&cfg)) == -1) { |
if ((sock = srv_Socket(&cfg)) == -1) { |
ret = 4; |
ret = 4; |
Line 221 main(int argc, char **argv)
|
Line 220 main(int argc, char **argv)
|
if (pass) { |
if (pass) { |
setgid(pass->pw_gid); |
setgid(pass->pw_gid); |
setuid(pass->pw_uid); |
setuid(pass->pw_uid); |
ioDEBUG(2, "Try to change group #%d and user #%d", pass->pw_gid, pass->pw_uid); | EVERBOSE(2, "Try to change group #%d and user #%d", pass->pw_gid, pass->pw_uid); |
} |
} |
|
|
if (!(root = schedBegin())) { |
if (!(root = schedBegin())) { |
ioLIBERR(sched); | ELIBERR(sched); |
ret = 6; |
ret = 6; |
goto end; |
goto end; |
} |
} |