Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Commit

Permalink
Added some win32 platform functions
Browse files Browse the repository at this point in the history
Fixes #1617
  • Loading branch information
skomski authored and ry committed Sep 1, 2011
1 parent 3efcbad commit 65c2763
Showing 1 changed file with 33 additions and 5 deletions.
38 changes: 33 additions & 5 deletions src/platform_win32.cc
Expand Up @@ -198,18 +198,46 @@ const char* Platform::GetProcessTitle(int *len) {


int Platform::GetMemory(size_t *rss, size_t *vsize) {
*rss = 0;
*vsize = 0;

HANDLE current_process = GetCurrentProcess();
PROCESS_MEMORY_COUNTERS pmc;

if ( !GetProcessMemoryInfo( current_process, &pmc, sizeof(pmc)) )
{
winapi_perror("GetProcessMemoryInfo");
}

*rss = pmc.WorkingSetSize;
*vsize = 0; // FIXME

return 0;
}


double Platform::GetFreeMemory() {
return -1;

MEMORYSTATUSEX memory_status;
memory_status.dwLength = sizeof(memory_status);

if(!GlobalMemoryStatusEx(&memory_status))
{
winapi_perror("GlobalMemoryStatusEx");
}

return (double)memory_status.ullAvailPhys;
}

double Platform::GetTotalMemory() {
return -1;

MEMORYSTATUSEX memory_status;
memory_status.dwLength = sizeof(memory_status);

if(!GlobalMemoryStatusEx(&memory_status))
{
winapi_perror("GlobalMemoryStatusEx");
}

return (double)memory_status.ullTotalPhys;
}


Expand All @@ -219,7 +247,7 @@ int Platform::GetCPUInfo(Local<Array> *cpus) {


double Platform::GetUptimeImpl() {
return -1;
return (double)GetTickCount()/1000.0;
}

int Platform::GetLoadAvg(Local<Array> *loads) {
Expand Down

0 comments on commit 65c2763

Please sign in to comment.