mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-07-16 11:48:36 +12:00
SPU Interrupt Enable Status implemented
SPU Interrupts are still NOT implemented
This commit is contained in:
parent
1519a2b468
commit
5bd83516ba
7 changed files with 121 additions and 79 deletions
|
@ -222,13 +222,12 @@ namespace vm
|
|||
}
|
||||
catch (...)
|
||||
{
|
||||
// catch exception thrown by predicate
|
||||
// capture any exception possibly thrown by predicate
|
||||
auto exception = std::current_exception();
|
||||
|
||||
// set new predicate that will throw this exception from the original thread
|
||||
pred = [exception]() -> bool
|
||||
{
|
||||
// rethrow exception
|
||||
std::rethrow_exception(exception);
|
||||
|
||||
// dummy return value
|
||||
|
@ -241,10 +240,9 @@ namespace vm
|
|||
return true;
|
||||
}
|
||||
|
||||
// clear predicate if succeeded
|
||||
// clear predicate and signal
|
||||
pred = nullptr;
|
||||
|
||||
// signal if succeeded or an exception thrown
|
||||
if (!thread->Signal())
|
||||
{
|
||||
throw EXCEPTION("Thread already signaled");
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue