[svn:parrot] r49622 - in trunk: . config/gen/platform/freebsd
geraud at svn.parrot.org
geraud at svn.parrot.org
Thu Oct 21 07:09:20 UTC 2010
Author: geraud
Date: Thu Oct 21 07:09:20 2010
New Revision: 49622
URL: https://trac.parrot.org/parrot/changeset/49622
Log:
[platform] Fix the build under FreeBSD. kid51++ and cotto++ for the darwin version.
Added:
trunk/config/gen/platform/freebsd/
trunk/config/gen/platform/freebsd/sysmem.c (contents, props changed)
Modified:
trunk/MANIFEST
Modified: trunk/MANIFEST
==============================================================================
--- trunk/MANIFEST Thu Oct 21 03:56:00 2010 (r49621)
+++ trunk/MANIFEST Thu Oct 21 07:09:20 2010 (r49622)
@@ -287,6 +287,7 @@
config/gen/platform/darwin/begin.c []
config/gen/platform/darwin/hires_timer.c []
config/gen/platform/darwin/sysmem.c []
+config/gen/platform/freebsd/sysmem.c []
config/gen/platform/generic/dl.c []
config/gen/platform/generic/dl.h []
config/gen/platform/generic/env.c []
Added: trunk/config/gen/platform/freebsd/sysmem.c
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ trunk/config/gen/platform/freebsd/sysmem.c Thu Oct 21 07:09:20 2010 (r49622)
@@ -0,0 +1,70 @@
+/*
+ * $Id$
+ * Copyright (C) 2010, Parrot Foundation.
+ */
+
+/*
+
+=head1 NAME
+
+config/gen/platform/freebsd/sysmem.c
+
+=head1 DESCRIPTION
+
+Get system memory information.
+
+=head2 Functions
+
+=over 4
+
+=cut
+
+*/
+#include <sys/sysctl.h>
+#include <stdio.h>
+
+/*
+
+=item C<size_t Parrot_sysmem_amount(PARROT_INTERP)>
+
+Get information about available physycal memory.
+
+=cut
+
+*/
+
+size_t
+Parrot_sysmem_amount(PARROT_INTERP)
+{
+ int err = 0;
+ size_t memsize = 0;
+ char *err_msg;
+ unsigned long length = sizeof (memsize);
+
+ int selection[2] = { CTL_HW, HW_PHYSMEM };
+
+ err = sysctl(selection, 2, &memsize, &length, NULL, 0);
+
+ if (err) {
+ err_msg = strerror(err);
+ Parrot_ex_throw_from_c_args(interp, NULL, EXCEPTION_EXTERNAL_ERROR,
+ "sysctl failed: %s", err_msg);
+ }
+
+ return memsize;
+}
+
+/*
+
+=back
+
+=cut
+
+*/
+
+/*
+ * Local variables:
+ * c-file-style: "parrot"
+ * End:
+ * vim: expandtab shiftwidth=4:
+ */
More information about the parrot-commits
mailing list