SPU Interrupt Enable Status implemented

SPU Interrupts are still NOT implemented
This commit is contained in:
Nekotekina 2015-07-16 14:32:19 +03:00
parent 1519a2b468
commit 5bd83516ba
7 changed files with 121 additions and 79 deletions

View file

@ -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");