Integrate new result macros. (#1780)

* result: try out some experimental shenanigans

* result: sketch out some more shenanigans

* result: see what it looks like to convert kernel to use result conds instead of guards

* make rest of kernel use experimental new macro-ing
This commit is contained in:
SciresM 2022-02-14 14:45:32 -08:00 committed by GitHub
parent 375ba615be
commit 96f95b9f95
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
109 changed files with 1355 additions and 1380 deletions

View file

@ -61,7 +61,7 @@ namespace ams::kern {
/* Check that the thread isn't terminating. */
if (cur_thread->IsTerminationRequested()) {
slp.CancelSleep();
return svc::ResultTerminationRequested();
R_THROW(svc::ResultTerminationRequested());
}
/* Handle the case where timeout is non-negative/infinite. */
@ -69,7 +69,7 @@ namespace ams::kern {
/* Check if we're already waiting. */
if (m_next_thread != nullptr) {
slp.CancelSleep();
return svc::ResultBusy();
R_THROW(svc::ResultBusy());
}
/* If timeout is zero, handle the special case by canceling all waiting threads. */
@ -79,7 +79,7 @@ namespace ams::kern {
}
slp.CancelSleep();
return ResultSuccess();
R_SUCCEED();
}
}
@ -96,7 +96,7 @@ namespace ams::kern {
cur_thread->BeginWait(std::addressof(wait_queue));
}
return ResultSuccess();
R_SUCCEED();
}
}