Kernel: Correct Cancel Synchronization.
This commit corrects the behavior of cancel synchronization when the thread is running/ready and ensures the next wait is cancelled as it's suppose to.
This commit is contained in:
parent
bb31df62bb
commit
7d16b2d2dd
3 changed files with 19 additions and 2 deletions
|
@ -440,6 +440,14 @@ public:
|
|||
is_running = value;
|
||||
}
|
||||
|
||||
bool IsSyncCancelled() const {
|
||||
return is_sync_cancelled;
|
||||
}
|
||||
|
||||
void SetSyncCancelled(bool value) {
|
||||
is_sync_cancelled = value;
|
||||
}
|
||||
|
||||
private:
|
||||
explicit Thread(KernelCore& kernel);
|
||||
~Thread() override;
|
||||
|
@ -524,6 +532,7 @@ private:
|
|||
|
||||
u32 scheduling_state = 0;
|
||||
bool is_running = false;
|
||||
bool is_sync_cancelled = false;
|
||||
|
||||
std::string name;
|
||||
};
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue