aboutsummaryrefslogtreecommitdiff
path: root/src/zencore
diff options
context:
space:
mode:
authorzousar <[email protected]>2026-02-17 21:17:02 -0700
committerzousar <[email protected]>2026-02-17 21:17:02 -0700
commit33922d451adc6375d7964bd685916a85086299ef (patch)
treebf773d33a2ff147523cab7a063242862ff8bfb6d /src/zencore
parentDependencies table doesn't reflow the entries page (diff)
parentadd http server root password protection (#757) (diff)
downloadzen-33922d451adc6375d7964bd685916a85086299ef.tar.xz
zen-33922d451adc6375d7964bd685916a85086299ef.zip
Merge branch 'main' into zs/web-ui-improvements
Diffstat (limited to 'src/zencore')
-rw-r--r--src/zencore/include/zencore/logging.h1
-rw-r--r--src/zencore/include/zencore/string.h16
-rw-r--r--src/zencore/include/zencore/thread.h8
-rw-r--r--src/zencore/logging.cpp10
-rw-r--r--src/zencore/system.cpp12
5 files changed, 36 insertions, 11 deletions
diff --git a/src/zencore/include/zencore/logging.h b/src/zencore/include/zencore/logging.h
index afbbbd3ee..74a44d028 100644
--- a/src/zencore/include/zencore/logging.h
+++ b/src/zencore/include/zencore/logging.h
@@ -31,6 +31,7 @@ void FlushLogging();
LoggerRef Default();
void SetDefault(std::string_view NewDefaultLoggerId);
LoggerRef ConsoleLog();
+void ResetConsoleLog();
void SuppressConsoleLog();
LoggerRef ErrorLog();
void SetErrorLog(std::string_view LoggerId);
diff --git a/src/zencore/include/zencore/string.h b/src/zencore/include/zencore/string.h
index cbff6454f..5a12ba5d2 100644
--- a/src/zencore/include/zencore/string.h
+++ b/src/zencore/include/zencore/string.h
@@ -797,6 +797,22 @@ HashStringDjb2(const std::string_view& InString)
}
constexpr uint32_t
+HashStringDjb2(const std::span<const std::string_view> InStrings)
+{
+ uint32_t HashValue = 5381;
+
+ for (const std::string_view& String : InStrings)
+ {
+ for (int CurChar : String)
+ {
+ HashValue = HashValue * 33 + CurChar;
+ }
+ }
+
+ return HashValue;
+}
+
+constexpr uint32_t
HashStringAsLowerDjb2(const std::string_view& InString)
{
uint32_t HashValue = 5381;
diff --git a/src/zencore/include/zencore/thread.h b/src/zencore/include/zencore/thread.h
index de8f9399c..a1c68b0b2 100644
--- a/src/zencore/include/zencore/thread.h
+++ b/src/zencore/include/zencore/thread.h
@@ -61,10 +61,10 @@ public:
RwLock* m_Lock;
};
- inline void WithSharedLock(auto&& Fun)
+ inline auto WithSharedLock(auto&& Fun)
{
SharedLockScope $(*this);
- Fun();
+ return Fun();
}
struct ExclusiveLockScope
@@ -85,10 +85,10 @@ public:
RwLock* m_Lock;
};
- inline void WithExclusiveLock(auto&& Fun)
+ inline auto WithExclusiveLock(auto&& Fun)
{
ExclusiveLockScope $(*this);
- Fun();
+ return Fun();
}
private:
diff --git a/src/zencore/logging.cpp b/src/zencore/logging.cpp
index a6697c443..e79c4b41c 100644
--- a/src/zencore/logging.cpp
+++ b/src/zencore/logging.cpp
@@ -251,7 +251,7 @@ RefreshLogLevels(level::LogLevel* DefaultLevel)
if (auto CommaPos = Spec.find_first_of(','); CommaPos != std::string_view::npos)
{
- LoggerName = Spec.substr(CommaPos + 1);
+ LoggerName = Spec.substr(0, CommaPos);
Spec.remove_prefix(CommaPos + 1);
}
else
@@ -405,6 +405,14 @@ ConsoleLog()
}
void
+ResetConsoleLog()
+{
+ LoggerRef ConLog = ConsoleLog();
+
+ ConLog.SpdLogger->set_pattern("%v");
+}
+
+void
InitializeLogging()
{
ZEN_MEMSCOPE(ELLMTag::Logging);
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;