mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-08-26 07:25:14 +02:00
Fix IsOnSeparateCPUThread(), was always false.
Erp, because of detach().
This commit is contained in:
+4
-1
@@ -76,6 +76,7 @@ GlobalUIState globalUIState;
|
||||
static CoreParameter coreParameter;
|
||||
static PSPMixer *mixer;
|
||||
static std::thread *cpuThread = NULL;
|
||||
static std::thread::id cpuThreadID;
|
||||
static recursive_mutex cpuThreadLock;
|
||||
static condition_variable cpuThreadCond;
|
||||
static condition_variable cpuThreadReplyCond;
|
||||
@@ -108,7 +109,7 @@ void Audio_Init() {
|
||||
|
||||
bool IsOnSeparateCPUThread() {
|
||||
if (cpuThread != NULL) {
|
||||
return cpuThread->get_id() == std::this_thread::get_id();
|
||||
return cpuThreadID == std::this_thread::get_id();
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
@@ -336,6 +337,7 @@ bool PSP_InitStart(const CoreParameter &coreParam, std::string *error_string) {
|
||||
XSetThreadProcessor(cpuThread->native_handle(), 2);
|
||||
ResumeThread(cpuThread->native_handle());
|
||||
#endif
|
||||
cpuThreadID = cpuThread->get_id();
|
||||
cpuThread->detach();
|
||||
} else {
|
||||
CPU_Init();
|
||||
@@ -411,6 +413,7 @@ void PSP_Shutdown() {
|
||||
CPU_WaitStatus(cpuThreadReplyCond, &CPU_IsShutdown);
|
||||
delete cpuThread;
|
||||
cpuThread = 0;
|
||||
cpuThreadID = std::thread::id();
|
||||
} else {
|
||||
CPU_Shutdown();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user