Permalink
Browse files

Added some win32 platform functions

Fixes #1617
  • Loading branch information...
1 parent 3efcbad commit 65c27638ec6195b0a5d35f47bceec5777e7ca551 @skomski skomski committed with ry Aug 31, 2011
Showing with 33 additions and 5 deletions.
  1. +33 −5 src/platform_win32.cc
View
@@ -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;
}
@@ -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) {

0 comments on commit 65c2763

Please sign in to comment.