mirror of
https://github.com/hrydgard/ppsspp.git
synced 2025-04-02 11:01:50 -04:00
Fix IsOnSeparateCPUThread(), was always false.
Erp, because of detach().
This commit is contained in:
parent
f052778c2d
commit
d97c229eaf
2 changed files with 5 additions and 2 deletions
|
@ -71,7 +71,7 @@ Event *eventPool = 0;
|
|||
Event *eventTsPool = 0;
|
||||
int allocatedTsEvents = 0;
|
||||
// Optimization to skip MoveEvents when possible.
|
||||
volatile u32 hasTsEvents = false;
|
||||
volatile u32 hasTsEvents = 0;
|
||||
|
||||
// Downcount has been moved to currentMIPS, to save a couple of clocks in every ARM JIT block
|
||||
// as we can already reach that structure through a register.
|
||||
|
|
|
@ -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();
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue