-// Copyright (C) 2023-2025 Joel Rosdahl and other contributors
+// Copyright (C) 2023-2026 Joel Rosdahl and other contributors
//
// See doc/authors.adoc for a complete list of contributors.
//
#include "time.hpp"
+#include <mutex>
+
namespace util {
std::optional<tm>
return result;
}
#else
+ static std::mutex mutex;
+ std::lock_guard<std::mutex> lock(mutex);
struct tm* result = ::gmtime(×tamp);
if (result) {
return *result;
return result;
}
#else
+ static std::mutex mutex;
+ std::lock_guard<std::mutex> lock(mutex);
struct tm* result = ::localtime(×tamp);
if (result) {
return *result;