Update hosts files on signal USR1 #50

develop
Geoffrey Merck 1 year ago
parent 5fb1530771
commit 68c1562bf9

@ -68,8 +68,9 @@ int main(int argc, char *argv[])
signal(SIGILL, CDStarGatewayApp::sigHandlerFatal); signal(SIGILL, CDStarGatewayApp::sigHandlerFatal);
signal(SIGFPE, CDStarGatewayApp::sigHandlerFatal); signal(SIGFPE, CDStarGatewayApp::sigHandlerFatal);
signal(SIGABRT, CDStarGatewayApp::sigHandlerFatal); signal(SIGABRT, CDStarGatewayApp::sigHandlerFatal);
signal(SIGTERM, CDStarGatewayApp::sigHandler); signal(SIGTERM, CDStarGatewayApp::sigHandlerExit);
signal(SIGINT, CDStarGatewayApp::sigHandler); signal(SIGINT, CDStarGatewayApp::sigHandlerExit);
signal(SIGUSR1, CDStarGatewayApp::sigHandlerUSR);
setbuf(stdout, NULL); setbuf(stdout, NULL);
if (2 != argc) { if (2 != argc) {
@ -370,7 +371,7 @@ bool CDStarGatewayApp::createThread()
return true; return true;
} }
void CDStarGatewayApp::sigHandler(int sig) void CDStarGatewayApp::sigHandlerExit(int sig)
{ {
CLog::logInfo("Caught signal : %s, shutting down gateway", strsignal(sig)); CLog::logInfo("Caught signal : %s, shutting down gateway", strsignal(sig));
@ -392,6 +393,15 @@ void CDStarGatewayApp::sigHandlerFatal(int sig)
exit(3); exit(3);
} }
void CDStarGatewayApp::sigHandlerUSR(int sig)
{
if(sig == SIGUSR1) {
CLog::logInfo("Caught signal : %s, updating host files", strsignal(sig));
CHostsFilesManager::UpdateHostsAsync(); // call and forget
}
}
void CDStarGatewayApp::terminateHandler() void CDStarGatewayApp::terminateHandler()
{ {
#ifdef DEBUG_DSTARGW #ifdef DEBUG_DSTARGW

@ -38,6 +38,7 @@ public:
void run(); void run();
static void sigHandlerFatal(int sig); static void sigHandlerFatal(int sig);
static void sigHandler(int sig); static void sigHandlerExit(int sig);
static void sigHandlerUSR(int sig);
static void terminateHandler(); static void terminateHandler();
}; };

Loading…
Cancel
Save

Powered by TurnKey Linux.