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){
 | 
					  void deinitState(bool leaveBehind){
 | 
				
			||||||
    tthread::lock_guard<tthread::mutex> guard(logMutex);
 | 
					    tthread::lock_guard<tthread::mutex> guard(logMutex);
 | 
				
			||||||
    if (!leaveBehind){
 | 
					    if (!leaveBehind){
 | 
				
			||||||
      rlxLogs->setExit();
 | 
					      if (rlxLogs){rlxLogs->setExit();}
 | 
				
			||||||
      shmLogs->master = true;
 | 
					      if (shmLogs){shmLogs->master = true;}
 | 
				
			||||||
      rlxAccs->setExit();
 | 
					      if (rlxAccs){rlxAccs->setExit();}
 | 
				
			||||||
      shmAccs->master = true;
 | 
					      if (shmAccs){shmAccs->master = true;}
 | 
				
			||||||
      rlxStrm->setExit();
 | 
					      if (rlxStrm){rlxStrm->setExit();}
 | 
				
			||||||
      shmStrm->master = true;
 | 
					      if (shmStrm){shmStrm->master = true;}
 | 
				
			||||||
    }else{
 | 
					    }else{
 | 
				
			||||||
      shmLogs->master = false;
 | 
					      if (shmLogs){shmLogs->master = false;}
 | 
				
			||||||
      shmAccs->master = false;
 | 
					      if (shmAccs){shmAccs->master = false;}
 | 
				
			||||||
      shmStrm->master = false;
 | 
					      if (shmStrm){shmStrm->master = false;}
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    Util::RelAccX *tmp = rlxLogs;
 | 
					    Util::RelAccX *tmp = rlxLogs;
 | 
				
			||||||
    rlxLogs = 0;
 | 
					    rlxLogs = 0;
 | 
				
			||||||
    delete tmp;
 | 
					    if (tmp){delete tmp;}
 | 
				
			||||||
    delete shmLogs;
 | 
					    if (shmLogs){delete shmLogs;}
 | 
				
			||||||
    shmLogs = 0;
 | 
					    shmLogs = 0;
 | 
				
			||||||
    tmp = rlxAccs;
 | 
					    tmp = rlxAccs;
 | 
				
			||||||
    rlxAccs = 0;
 | 
					    rlxAccs = 0;
 | 
				
			||||||
    delete tmp;
 | 
					    if (tmp){delete tmp;}
 | 
				
			||||||
    delete shmAccs;
 | 
					    if (shmAccs){delete shmAccs;}
 | 
				
			||||||
    shmAccs = 0;
 | 
					    shmAccs = 0;
 | 
				
			||||||
    tmp = rlxStrm;
 | 
					    tmp = rlxStrm;
 | 
				
			||||||
    rlxStrm = 0;
 | 
					    rlxStrm = 0;
 | 
				
			||||||
    delete tmp;
 | 
					    if (tmp){delete tmp;}
 | 
				
			||||||
    delete shmStrm;
 | 
					    if (shmStrm){delete shmStrm;}
 | 
				
			||||||
    shmStrm = 0;
 | 
					    shmStrm = 0;
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue