Пример #1
0
// TODO:
void CheatIF_Kill(void)
{/*
 if(CheatThread != NULL)
 {
  MDFND_LockMutex(CheatMutex);
  need_thread_exit = true;
  MDFND_SignalCond(CheatCond);
  MDFND_UnlockMutex(CheatMutex);
 
  MDFND_WaitThread(CheatThread, NULL);
 }*/

 if(CheatCond != NULL)
 {
  MDFND_DestroyCond(CheatCond);
  CheatCond = NULL;
 }

 if(CheatMutex != NULL)
 {
  MDFND_DestroyMutex(CheatMutex);
  CheatMutex = NULL;
 }

 if(pending_text)
 {
  free(pending_text);
  pending_text = NULL;
 }
}
Пример #2
0
bool CDIF_Close(void)
{
 ReadThreadQueue->Write(CDIF_Message(CDIF_MSG_DIEDIEDIE, 0, 0, 0, 0, NULL));
 MDFND_WaitThread(CDReadThread, NULL);

 if(SectorBuffers)
 {
  free(SectorBuffers);
  SectorBuffers = NULL;
 }

 if(ReadThreadQueue)
 {
  delete ReadThreadQueue;
  ReadThreadQueue = NULL;
 }

 if(EmuThreadQueue)
 {
  delete EmuThreadQueue;
  EmuThreadQueue = NULL;
 }

 if(SBMutex)
 {
  MDFND_DestroyMutex(SBMutex);
  SBMutex = NULL;
 }

 return(1);
}
Пример #3
0
 ~CDIF_Queue()
 {
  MDFND_DestroyMutex(ze_mutex);
 }
Пример #4
0
 ~CDIF_Queue()
 {
  MDFND_DestroyMutex(ze_mutex);
  MDFND_DestroySemaphore(ze_semaphore);
 }