// 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; } }
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); }
~CDIF_Queue() { MDFND_DestroyMutex(ze_mutex); }
~CDIF_Queue() { MDFND_DestroyMutex(ze_mutex); MDFND_DestroySemaphore(ze_semaphore); }