From 04206d0ab9d3fcee107ebd67952b3e3233e60a61 Mon Sep 17 00:00:00 2001 From: Topilski Date: Sun, 3 Nov 2024 08:11:13 +0300 Subject: [PATCH] Sync --- src/server/daemon/commands_info/service/details/shots.cpp | 5 ++++- src/server/daemon/commands_info/service/details/shots.h | 2 +- src/server/daemon/commands_info/service/server_info.cpp | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/server/daemon/commands_info/service/details/shots.cpp b/src/server/daemon/commands_info/service/details/shots.cpp index 85c9024..59a2798 100644 --- a/src/server/daemon/commands_info/service/details/shots.cpp +++ b/src/server/daemon/commands_info/service/details/shots.cpp @@ -185,7 +185,10 @@ SysinfoShot GetMachineSysinfoShot() { return inf; } - memcpy(&inf.loads, &info.loads, sizeof(unsigned long) * SIZEOFMASS(info.loads)); + static const double f_load = (1 << SI_LOAD_SHIFT); + inf.loads[0] = double(info.loads[0]) / f_load; + inf.loads[1] = double(info.loads[1]) / f_load; + inf.loads[2] = double(info.loads[2]) / f_load; inf.uptime = info.uptime; return inf; #elif defined(OS_MACOSX) || defined(OS_FREEBSD) diff --git a/src/server/daemon/commands_info/service/details/shots.h b/src/server/daemon/commands_info/service/details/shots.h index a631d78..e0c5da7 100644 --- a/src/server/daemon/commands_info/service/details/shots.h +++ b/src/server/daemon/commands_info/service/details/shots.h @@ -60,7 +60,7 @@ NetShot GetMachineNetShot(); struct SysinfoShot { SysinfoShot(); - unsigned long loads[3]; + double loads[3]; time_t uptime; }; diff --git a/src/server/daemon/commands_info/service/server_info.cpp b/src/server/daemon/commands_info/service/server_info.cpp index fde27c6..2da24b0 100644 --- a/src/server/daemon/commands_info/service/server_info.cpp +++ b/src/server/daemon/commands_info/service/server_info.cpp @@ -37,6 +37,7 @@ #define TIMESHIFTS_DIR_FIELD "timeshifts_dir" #define FEEDBACK_DIR_FIELD "feedback_dir" #define DATA_DIR_FIELD "data_dir" +#define PROXY_DIR_FIELD "proxy_dir" #define ONLINE_USERS_DAEMON_FIELD "daemon" #define ONLINE_USERS_HTTP_FIELD "http" @@ -256,6 +257,7 @@ common::Error FullServiceInfo::DoDeSerialize(json_object* serialized) { ignore_result(GetStringField(serialized, TIMESHIFTS_DIR_FIELD, &inf.timeshifts_dir_)); ignore_result(GetStringField(serialized, FEEDBACK_DIR_FIELD, &inf.feedback_dir_)); ignore_result(GetStringField(serialized, DATA_DIR_FIELD, &inf.data_dir_)); + ignore_result(GetStringField(serialized, PROXY_DIR_FIELD, &inf.proxy_dir_)); ignore_result(GetStringField(serialized, PROJECT_FIELD, &inf.project_)); ignore_result(GetStringField(serialized, VERSION_FIELD, &inf.proj_ver_)); ignore_result(GetStringField(serialized, VSYSTEM_FIELD, &inf.vsystem_)); @@ -285,6 +287,7 @@ common::Error FullServiceInfo::SerializeFields(json_object* out) const { ignore_result(SetStringField(out, TIMESHIFTS_DIR_FIELD, timeshifts_dir_)); ignore_result(SetStringField(out, FEEDBACK_DIR_FIELD, feedback_dir_)); ignore_result(SetStringField(out, DATA_DIR_FIELD, data_dir_)); + ignore_result(SetStringField(out, PROXY_DIR_FIELD, proxy_dir_)); ignore_result(SetStringField(out, VERSION_FIELD, proj_ver_)); ignore_result(SetStringField(out, PROJECT_FIELD, project_)); ignore_result(SetObjectField(out, OS_FIELD, jos));