Skip to content

Commit c5fbcf5

Browse files
committed
Merge bitcoin/bitcoin#25320: util: modify Win32LockedPageAllocator to query windows for limit.
1cb42ae 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 1cb42ae. Tree-SHA512: 7bdd8a57a4e64ee59d752417a519656e03526878462060753be4dce481eff4889fb5edc1bdbd575b707d9b2dfe255c87da9ef67baac97de9ac5e70a04c852081
2 parents cccbc5f + 1cb42ae commit c5fbcf5

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/support/lockedpool.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,10 @@ void Win32LockedPageAllocator::FreeLocked(void* addr, size_t len)
202202

203203
size_t Win32LockedPageAllocator::GetLimit()
204204
{
205-
// TODO is there a limit on Windows, how to get it?
205+
size_t min, max;
206+
if(GetProcessWorkingSetSize(GetCurrentProcess(), &min, &max) != 0) {
207+
return min;
208+
}
206209
return std::numeric_limits<size_t>::max();
207210
}
208211
#endif

0 commit comments

Comments
 (0)