Allow threads to gracefully shutdown

This commit is contained in:
Luke Street
2026-04-01 18:30:12 -06:00
parent 7d57ff914b
commit 2e920d510d
16 changed files with 135 additions and 158 deletions
+12 -1
View File
@@ -11,6 +11,7 @@
#include "m_Do/m_Do_Reset.h"
#include "os_report.h"
#include "dusk/os.h"
#include "dusk/main.h"
#if PLATFORM_WII || PLATFORM_SHIELD
#include <revolution/nand.h>
@@ -103,11 +104,21 @@ void mDoMemCd_Ctrl_c::ThdInit() {
void mDoMemCd_Ctrl_c::main() {
do {
OSLockMutex(&mMutex);
while (mCardCommand == COMM_NONE_e) {
while (mCardCommand == COMM_NONE_e
#ifdef TARGET_PC
&& !dusk::IsShuttingDown
#endif
) {
OSWaitCond(&mCond, &mMutex);
}
OSUnlockMutex(&mMutex);
#ifdef TARGET_PC
if (dusk::IsShuttingDown) {
break;
}
#endif
switch (mCardCommand) {
#if PLATFORM_GCN || PLATFORM_WII
case COMM_RESTORE_e: