mirror of
https://github.com/ElvishArtisan/rivendell.git
synced 2025-07-12 14:47:44 +02:00
2017-05-23 Fred Gleason <fredg@paravelsystems.com>
* Modified ripcd(8) to allow switcher drivers to execute cleanup code at program shutdown.
This commit is contained in:
parent
3b14fbfa10
commit
c50be5b262
@ -15801,3 +15801,6 @@
|
|||||||
* Added an 'RDMatrix::KernelGpio' element to the 'RDMatrix::Type enum.
|
* Added an 'RDMatrix::KernelGpio' element to the 'RDMatrix::Type enum.
|
||||||
* Implemented a Kernel GPIO switcher driver in 'ripcd/kernelgpio.cpp'
|
* Implemented a Kernel GPIO switcher driver in 'ripcd/kernelgpio.cpp'
|
||||||
and 'ripcd/kernelgpio.h'.
|
and 'ripcd/kernelgpio.h'.
|
||||||
|
2017-05-23 Fred Gleason <fredg@paravelsystems.com>
|
||||||
|
* Modified ripcd(8) to allow switcher drivers to execute cleanup
|
||||||
|
code at program shutdown.
|
||||||
|
@ -55,7 +55,7 @@
|
|||||||
RDConfig *ripcd_config;
|
RDConfig *ripcd_config;
|
||||||
RDCae *rdcae;
|
RDCae *rdcae;
|
||||||
RDStation *rdstation;
|
RDStation *rdstation;
|
||||||
|
bool global_exiting=false;
|
||||||
|
|
||||||
void SigHandler(int signo)
|
void SigHandler(int signo)
|
||||||
{
|
{
|
||||||
@ -73,15 +73,8 @@ void SigHandler(int signo)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
case SIGTERM:
|
case SIGTERM:
|
||||||
LogLine(RDConfig::LogInfo,"ripcd exiting normally");
|
|
||||||
RDDeletePid(RD_PID_DIR,"ripcd.pid");
|
|
||||||
exit(0);
|
|
||||||
break;
|
|
||||||
|
|
||||||
case SIGINT:
|
case SIGINT:
|
||||||
LogLine(RDConfig::LogInfo,"ripcd exiting on SIGINT");
|
global_exiting=true;
|
||||||
RDDeletePid(RD_PID_DIR,"ripcd.pid");
|
|
||||||
exit(0);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -249,6 +242,13 @@ MainObject::MainObject(QObject *parent)
|
|||||||
log(RDConfig::LogInfo,"maintenance checks disabled on this host!");
|
log(RDConfig::LogInfo,"maintenance checks disabled on this host!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Exit Timer
|
||||||
|
//
|
||||||
|
timer=new QTimer(this);
|
||||||
|
connect(timer,SIGNAL(timeout()),this,SLOT(exitTimerData()));
|
||||||
|
timer->start(200);
|
||||||
|
|
||||||
LogLine(RDConfig::LogInfo,"started");
|
LogLine(RDConfig::LogInfo,"started");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -408,6 +408,21 @@ void MainObject::macroTimerData(int num)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void MainObject::exitTimerData()
|
||||||
|
{
|
||||||
|
if(global_exiting) {
|
||||||
|
for(int i=0;i<MAX_MATRICES;i++) {
|
||||||
|
if(ripcd_switcher[i]!=NULL) {
|
||||||
|
delete ripcd_switcher[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
LogLine(RDConfig::LogInfo,"ripcd exiting normally");
|
||||||
|
RDDeletePid(RD_PID_DIR,"ripcd.pid");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void MainObject::SetUser(QString username)
|
void MainObject::SetUser(QString username)
|
||||||
{
|
{
|
||||||
rdstation->setUserName(username);
|
rdstation->setUserName(username);
|
||||||
|
@ -77,6 +77,7 @@ class MainObject : public QObject
|
|||||||
void socketData(int);
|
void socketData(int);
|
||||||
void socketKill(int);
|
void socketKill(int);
|
||||||
void checkMaintData();
|
void checkMaintData();
|
||||||
|
void exitTimerData();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void SetUser(QString username);
|
void SetUser(QString username);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user