aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlaanwj <126646+laanwj@users.noreply.github.com>2022-06-14 09:15:51 +0200
committerlaanwj <126646+laanwj@users.noreply.github.com>2022-06-14 09:46:28 +0200
commitc5fbcf5f8d7b36bee54ac80d1027d0dccea2aa75 (patch)
tree8e086d7542ba4e742ed60ba4c09d3bae909a40c9 /src
parentcccbc5fe3ea5ae52426203f4485b11071fbe4b6e (diff)
parent1cb42aeda37f4979923cd7e1c85febe994480de6 (diff)
downloadbitcoin-c5fbcf5f8d7b36bee54ac80d1027d0dccea2aa75.tar.xz
Merge bitcoin/bitcoin#25320: util: modify Win32LockedPageAllocator to query windows for limit.
1cb42aeda37f4979923cd7e1c85febe994480de6 util: modify Win32LockedPageAllocator to query windows for limit (Oskar Mendel) Pull request description: This PR resolves a todo within the Win32LockedPageAllocator: `// TODO is there a limit on Windows, how to get it?`. The idea is to use the Windows API to get the limits like the posix based allocator does with `getrlimit`. I use [GetProcessWorkingSetSize](https://docs.microsoft.com/en-us/windows/win32/api/memoryapi/nf-memoryapi-getprocessworkingsetsize) to perform this task and fallback to `return std::numeric_limits<size_t>::max();` just like the posix implementation does. ACKs for top commit: sipsorcery: tACK 1cb42aeda37f4979923cd7e1c85febe994480de6. Tree-SHA512: 7bdd8a57a4e64ee59d752417a519656e03526878462060753be4dce481eff4889fb5edc1bdbd575b707d9b2dfe255c87da9ef67baac97de9ac5e70a04c852081
Diffstat (limited to 'src')
-rw-r--r--src/support/lockedpool.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/support/lockedpool.cpp b/src/support/lockedpool.cpp
index 6907749c6d..b7ef479675 100644
--- a/src/support/lockedpool.cpp
+++ b/src/support/lockedpool.cpp
@@ -202,7 +202,10 @@ void Win32LockedPageAllocator::FreeLocked(void* addr, size_t len)
size_t Win32LockedPageAllocator::GetLimit()
{
- // TODO is there a limit on Windows, how to get it?
+ size_t min, max;
+ if(GetProcessWorkingSetSize(GetCurrentProcess(), &min, &max) != 0) {
+ return min;
+ }
return std::numeric_limits<size_t>::max();
}
#endif