system/Clock: GetProcessUptimeS() returns std::chrono::duration

This commit is contained in:
Max Kellermann 2019-05-08 15:42:47 +02:00
parent 214ddee2f5
commit 96f889276f
3 changed files with 14 additions and 10 deletions

View File

@ -114,13 +114,15 @@ db_stats_print(Response &r, const Database &db)
void
stats_print(Response &r, const Partition &partition)
{
#ifdef _WIN32
const auto uptime = GetProcessUptimeS();
#else
const auto uptime = std::chrono::steady_clock::now() - start_time;
#endif
r.Format("uptime: %u\n"
"playtime: %lu\n",
#ifdef _WIN32
GetProcessUptimeS(),
#else
(unsigned)std::chrono::duration_cast<std::chrono::seconds>(std::chrono::steady_clock::now() - start_time).count(),
#endif
(unsigned)std::chrono::duration_cast<std::chrono::seconds>(uptime).count(),
std::lround(partition.pc.GetTotalPlayTime().count()));
#ifdef ENABLE_DATABASE

View File

@ -23,7 +23,7 @@
#include <windows.h>
gcc_const
static unsigned
static std::chrono::seconds
DeltaFileTimeS(FILETIME a, FILETIME b)
{
ULARGE_INTEGER a2, b2;
@ -31,10 +31,10 @@ DeltaFileTimeS(FILETIME a, FILETIME b)
b2.HighPart = b.dwHighDateTime;
a2.LowPart = a.dwLowDateTime;
a2.HighPart = a.dwHighDateTime;
return (a2.QuadPart - b2.QuadPart) / 10000000;
return std::chrono::seconds((a2.QuadPart - b2.QuadPart) / 10000000);
}
unsigned
std::chrono::seconds
GetProcessUptimeS()
{
FILETIME creation_time, exit_time, kernel_time, user_time, now;

View File

@ -1,5 +1,5 @@
/*
* Copyright 2003-2018 The Music Player Daemon Project
* Copyright 2003-2019 The Music Player Daemon Project
* http://www.musicpd.org
*
* This program is free software; you can redistribute it and/or modify
@ -22,13 +22,15 @@
#include "util/Compiler.h"
#include <chrono>
#ifdef _WIN32
/**
* Returns the uptime of the current process in seconds.
*/
gcc_pure
unsigned
std::chrono::seconds
GetProcessUptimeS();
#endif