|
|
@@ -65,21 +65,6 @@ Thread* GetCurrentThread() {
|
|
|
return current_thread.get();
|
|
|
}
|
|
|
|
|
|
-/**
|
|
|
- * Check if a thread is waiting on the specified wait object
|
|
|
- * @param thread The thread to test
|
|
|
- * @param wait_object The object to test against
|
|
|
- * @return True if the thread is waiting, false otherwise
|
|
|
- */
|
|
|
-static bool CheckWait_WaitObject(const Thread* thread, WaitObject* wait_object) {
|
|
|
- if (thread->status != THREADSTATUS_WAIT_SYNCH_ALL &&
|
|
|
- thread->status != THREADSTATUS_WAIT_SYNCH_ANY)
|
|
|
- return false;
|
|
|
-
|
|
|
- auto itr = std::find(thread->wait_objects.begin(), thread->wait_objects.end(), wait_object);
|
|
|
- return itr != thread->wait_objects.end();
|
|
|
-}
|
|
|
-
|
|
|
/**
|
|
|
* Check if the specified thread is waiting on the specified address to be arbitrated
|
|
|
* @param thread The thread to test
|
|
|
@@ -249,14 +234,6 @@ void WaitCurrentThread_Sleep() {
|
|
|
thread->status = THREADSTATUS_WAIT_SLEEP;
|
|
|
}
|
|
|
|
|
|
-void WaitCurrentThread_WaitSynchronization(std::vector<SharedPtr<WaitObject>> wait_objects,
|
|
|
- bool wait_set_output) {
|
|
|
- Thread* thread = GetCurrentThread();
|
|
|
- thread->wait_set_output = wait_set_output;
|
|
|
- thread->wait_objects = std::move(wait_objects);
|
|
|
- thread->status = THREADSTATUS_WAIT_SYNCH_ANY;
|
|
|
-}
|
|
|
-
|
|
|
void WaitCurrentThread_ArbitrateAddress(VAddr wait_address) {
|
|
|
Thread* thread = GetCurrentThread();
|
|
|
thread->wait_address = wait_address;
|