Fix segfault in deinitState when original initState failed
This commit is contained in:
parent
e6621fc09c
commit
8d623e9609
1 changed files with 15 additions and 15 deletions
|
@ -211,31 +211,31 @@ namespace Controller{
|
|||
void deinitState(bool leaveBehind){
|
||||
tthread::lock_guard<tthread::mutex> guard(logMutex);
|
||||
if (!leaveBehind){
|
||||
rlxLogs->setExit();
|
||||
shmLogs->master = true;
|
||||
rlxAccs->setExit();
|
||||
shmAccs->master = true;
|
||||
rlxStrm->setExit();
|
||||
shmStrm->master = true;
|
||||
if (rlxLogs){rlxLogs->setExit();}
|
||||
if (shmLogs){shmLogs->master = true;}
|
||||
if (rlxAccs){rlxAccs->setExit();}
|
||||
if (shmAccs){shmAccs->master = true;}
|
||||
if (rlxStrm){rlxStrm->setExit();}
|
||||
if (shmStrm){shmStrm->master = true;}
|
||||
}else{
|
||||
shmLogs->master = false;
|
||||
shmAccs->master = false;
|
||||
shmStrm->master = false;
|
||||
if (shmLogs){shmLogs->master = false;}
|
||||
if (shmAccs){shmAccs->master = false;}
|
||||
if (shmStrm){shmStrm->master = false;}
|
||||
}
|
||||
Util::RelAccX *tmp = rlxLogs;
|
||||
rlxLogs = 0;
|
||||
delete tmp;
|
||||
delete shmLogs;
|
||||
if (tmp){delete tmp;}
|
||||
if (shmLogs){delete shmLogs;}
|
||||
shmLogs = 0;
|
||||
tmp = rlxAccs;
|
||||
rlxAccs = 0;
|
||||
delete tmp;
|
||||
delete shmAccs;
|
||||
if (tmp){delete tmp;}
|
||||
if (shmAccs){delete shmAccs;}
|
||||
shmAccs = 0;
|
||||
tmp = rlxStrm;
|
||||
rlxStrm = 0;
|
||||
delete tmp;
|
||||
delete shmStrm;
|
||||
if (tmp){delete tmp;}
|
||||
if (shmStrm){delete shmStrm;}
|
||||
shmStrm = 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue