aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/system.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2026-02-17 13:56:33 +0100
committerGitHub Enterprise <[email protected]>2026-02-17 13:56:33 +0100
commit2159b2ce105935ce4d52a726094f9bbb91537d0c (patch)
tree6f8b21486d6dfa4e7d188bd83a56cbfdf4436b22 /src/zencore/system.cpp
parentadded ResetConsoleLog (#758) (diff)
downloadzen-2159b2ce105935ce4d52a726094f9bbb91537d0c.tar.xz
zen-2159b2ce105935ce4d52a726094f9bbb91537d0c.zip
misc fixes brought over from sb/proto (#759)
* `RwLock::WithSharedLock` and `RwLock::WithExclusiveLock` can now return a value (which is returned by the passed function) * Comma-separated logger specification now correctly deals with commas * `GetSystemMetrics` properly accounts for cores * cpr response formatter passes arguments in the right order * `HttpServerRequest::SetLogRequest` can be used to selectively log HTTP requests
Diffstat (limited to 'src/zencore/system.cpp')
-rw-r--r--src/zencore/system.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/zencore/system.cpp b/src/zencore/system.cpp
index b9ac3bdee..e92691781 100644
--- a/src/zencore/system.cpp
+++ b/src/zencore/system.cpp
@@ -66,15 +66,15 @@ GetSystemMetrics()
// Determine physical core count
DWORD BufferSize = 0;
- BOOL Result = GetLogicalProcessorInformation(nullptr, &BufferSize);
+ BOOL Result = GetLogicalProcessorInformationEx(RelationAll, nullptr, &BufferSize);
if (int32_t Error = GetLastError(); Error != ERROR_INSUFFICIENT_BUFFER)
{
ThrowSystemError(Error, "Failed to get buffer size for logical processor information");
}
- PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer = (PSYSTEM_LOGICAL_PROCESSOR_INFORMATION)Memory::Alloc(BufferSize);
+ PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX Buffer = (PSYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX)Memory::Alloc(BufferSize);
- Result = GetLogicalProcessorInformation(Buffer, &BufferSize);
+ Result = GetLogicalProcessorInformationEx(RelationAll, Buffer, &BufferSize);
if (!Result)
{
Memory::Free(Buffer);
@@ -84,9 +84,9 @@ GetSystemMetrics()
DWORD ProcessorPkgCount = 0;
DWORD ProcessorCoreCount = 0;
DWORD ByteOffset = 0;
- while (ByteOffset + sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION) <= BufferSize)
+ while (ByteOffset + sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX) <= BufferSize)
{
- const SYSTEM_LOGICAL_PROCESSOR_INFORMATION& Slpi = Buffer[ByteOffset / sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION)];
+ const SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX& Slpi = Buffer[ByteOffset / sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX)];
if (Slpi.Relationship == RelationProcessorCore)
{
ProcessorCoreCount++;
@@ -95,7 +95,7 @@ GetSystemMetrics()
{
ProcessorPkgCount++;
}
- ByteOffset += sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION);
+ ByteOffset += sizeof(SYSTEM_LOGICAL_PROCESSOR_INFORMATION_EX);
}
Metrics.CoreCount = ProcessorCoreCount;