Memory: refactor, don't cache results

This commit is contained in:
李通洲
2022-12-28 15:55:31 +08:00
parent 0a83423731
commit 6ff67e87eb
16 changed files with 26 additions and 46 deletions
-13
View File
@@ -1,13 +0,0 @@
#include "memory.h"
#include "detection/internal.h"
void ffDetectMemoryImpl(FFMemoryStorage* memory);
const FFMemoryStorage* ffDetectMemory()
{
FF_DETECTION_INTERNAL_GUARD(FFMemoryStorage,
ffStrbufInit(&result.error);
ffDetectMemoryImpl(&result);
);
}
+1 -1
View File
@@ -5,6 +5,6 @@
#include "detection/storage.h"
const FFMemoryStorage* ffDetectMemory();
void ffDetectMemory(FFMemoryStorage* result);
#endif
+1 -1
View File
@@ -4,7 +4,7 @@
#include <string.h>
#include <mach/mach.h>
void ffDetectMemoryImpl(FFMemoryStorage* ram)
void ffDetectMemory(FFMemoryStorage* ram)
{
ram->bytesTotal = (uint64_t) ffSysctlGetInt64("hw.memsize", 0);
if(ram->bytesTotal == 0)
+1 -1
View File
@@ -1,7 +1,7 @@
#include "memory.h"
#include "common/sysctl.h"
void ffDetectMemoryImpl(FFMemoryStorage* ram)
void ffDetectMemory(FFMemoryStorage* ram)
{
uint32_t pageSize = (uint32_t) ffSysctlGetInt("hw.pagesize", 0);
if(pageSize == 0)
+6 -6
View File
@@ -3,12 +3,12 @@
#include <stdlib.h>
#include <string.h>
void ffDetectMemoryImpl(FFMemoryStorage* swap)
void ffDetectMemory(FFMemoryStorage* ram)
{
FILE* meminfo = fopen("/proc/meminfo", "r");
if(meminfo == NULL)
{
ffStrbufAppendS(&swap->error, "Failed to open /proc/meminfo");
ffStrbufAppendS(&ram->error, "Failed to open /proc/meminfo");
return;
}
@@ -37,9 +37,9 @@ void ffDetectMemoryImpl(FFMemoryStorage* swap)
fclose(meminfo);
swap->bytesTotal = memTotal * (uint64_t) 1024;
if(swap->bytesTotal == 0)
ffStrbufAppendS(&swap->error, "Failed to read MemTotal");
ram->bytesTotal = memTotal * (uint64_t) 1024;
if(ram->bytesTotal == 0)
ffStrbufAppendS(&ram->error, "Failed to read MemTotal");
else
swap->bytesUsed = (memTotal + shmem - memFree - buffers - cached - sReclaimable) * (uint64_t) 1024;
ram->bytesUsed = (memTotal + shmem - memFree - buffers - cached - sReclaimable) * (uint64_t) 1024;
}
+1 -1
View File
@@ -1,6 +1,6 @@
#include "memory.h"
void ffDetectMemoryImpl(FFMemoryStorage* ram)
void ffDetectMemory(FFMemoryStorage* ram)
{
MEMORYSTATUSEX statex = {
.dwLength = sizeof(statex),