Browse Source
Merge pull request #4010 from ogniK5377/reserve-always-break
kernel: ResourceLimit::Reserve remove useless while loop
pull/15/merge
bunnei
6 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with
1 additions and
5 deletions
-
src/core/hle/kernel/resource_limit.cpp
|
|
|
@ -24,13 +24,9 @@ bool ResourceLimit::Reserve(ResourceType resource, s64 amount, u64 timeout) { |
|
|
|
const std::size_t index{ResourceTypeToIndex(resource)}; |
|
|
|
|
|
|
|
s64 new_value = current[index] + amount; |
|
|
|
while (new_value > limit[index] && available[index] + amount <= limit[index]) { |
|
|
|
if (new_value > limit[index] && available[index] + amount <= limit[index]) { |
|
|
|
// TODO(bunnei): This is wrong for multicore, we should wait the calling thread for timeout
|
|
|
|
new_value = current[index] + amount; |
|
|
|
|
|
|
|
if (timeout >= 0) { |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (new_value <= limit[index]) { |
|
|
|
|