Reset llBit on thread switch.

Never actually seen ll used, though... but this way it should
work as advertized, as long as a syscall doesn't happen in between...
This commit is contained in:
Unknown W. Brackets 2013-02-18 10:27:15 -08:00
parent 3a365fef64
commit 2bdc9dc491
2 changed files with 4 additions and 1 deletions

View File

@ -1034,6 +1034,9 @@ void __KernelLoadContext(ThreadContext *ctx)
currentMIPS->fcr0 = ctx->fcr0;
currentMIPS->fcr31 = ctx->fcr31;
currentMIPS->fpcond = ctx->fpcond;
// Reset the llBit, the other thread may have touched memory.
currentMIPS->llBit = 0;
}
u32 __KernelResumeThreadFromWait(SceUID threadID)

View File

@ -372,7 +372,7 @@ namespace MIPSInt
if (rt != 0) {
R(rt) = 1;
}
} else {
} else if (rt != 0) {
R(rt) = 0;
}
break;