[svn:parrot] r49601 - trunk/config/gen/platform/win32
bacek at svn.parrot.org
bacek at svn.parrot.org
Wed Oct 20 08:50:57 UTC 2010
Author: bacek
Date: Wed Oct 20 08:50:56 2010
New Revision: 49601
URL: https://trac.parrot.org/parrot/changeset/49601
Log:
Implement Win32 version of Parrot_sysmem_amount based on MSDN example.
Modified:
trunk/config/gen/platform/win32/sysmem.c
Modified: trunk/config/gen/platform/win32/sysmem.c
==============================================================================
--- trunk/config/gen/platform/win32/sysmem.c Wed Oct 20 08:50:44 2010 (r49600)
+++ trunk/config/gen/platform/win32/sysmem.c Wed Oct 20 08:50:56 2010 (r49601)
@@ -21,6 +21,9 @@
*/
+#include <windows.h>
+#include <stdio.h>
+
/*
=item C<PMC * Parrot_sysmem_amount(PARROT_INTERP)>
@@ -34,8 +37,15 @@
size_t
Parrot_sysmem_amount(PARROT_INTERP)
{
- /* FIXME: Stub only. Returns 1 GB */
- return 1 * 1024 * 1024;
+ /* Copy-pasted from example at */
+ /* http://msdn.microsoft.com/en-us/library/aa366589(v=VS.85).aspx */
+ MEMORYSTATUSEX statex;
+ bool status;
+
+ statex.dwLength = sizeof(MEMORYSTATUSEX);
+ status = GlobalMemoryStatusEx(&statex);
+ /* TODO Check status and bail out */
+ return statex.ullAvailPhys;
}
/*
More information about the parrot-commits
mailing list