diff options
author | Alexey Dokuchaev <danfe@FreeBSD.org> | 2020-06-24 12:19:03 +0000 |
---|---|---|
committer | Alexey Dokuchaev <danfe@FreeBSD.org> | 2020-06-24 12:19:03 +0000 |
commit | 8369734c89a2d325eb14123db27904e90be5ee04 (patch) | |
tree | 1275b1eb8f8136767e3530967131a1bcdb126237 /math/ogdf/files/patch-src_ogdf_basic_System.cpp | |
parent | 55c8cf44910e15dc3db49be8c2a6ac20c6038191 (diff) |
Notes
Diffstat (limited to 'math/ogdf/files/patch-src_ogdf_basic_System.cpp')
-rw-r--r-- | math/ogdf/files/patch-src_ogdf_basic_System.cpp | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/math/ogdf/files/patch-src_ogdf_basic_System.cpp b/math/ogdf/files/patch-src_ogdf_basic_System.cpp new file mode 100644 index 000000000000..5ff22adb014b --- /dev/null +++ b/math/ogdf/files/patch-src_ogdf_basic_System.cpp @@ -0,0 +1,77 @@ +--- src/ogdf/basic/System.cpp.orig 2015-05-29 15:36:49 UTC ++++ src/ogdf/basic/System.cpp +@@ -52,6 +52,13 @@ + #include <mach/vm_statistics.h> + #include <mach/mach.h> + #include <mach/machine.h> ++#elif defined(OGDF_SYSTEM_FREEBSD) ++#include <stdlib.h> ++#include <unistd.h> ++#include <sys/types.h> ++#include <sys/sysctl.h> ++#include <sys/time.h> ++#include <sys/resource.h> + #elif defined(OGDF_SYSTEM_UNIX) + #include <malloc.h> + #endif +@@ -308,6 +315,40 @@ size_t System::memoryUsedByProcess() + return 0; + } + ++#elif defined(OGDF_SYSTEM_FREEBSD) ++ ++long long System::physicalMemory() ++{ ++ unsigned long value; ++ size_t size = sizeof( value ); ++ if (sysctlbyname("hw.physmem", (void *)&value, &size, NULL, 0) != -1) ++ return value; ++ else ++ return 0; ++} ++ ++long long System::availablePhysicalMemory() ++{ ++ int pageSize = getpagesize (); ++ unsigned long result; ++ size_t size = sizeof (result); ++ ++ if (sysctlbyname("vm.stats.vm.v_free_count", (void *)&result, &size, NULL, 0) != -1) ++ return result * pageSize; ++ else ++ return 0; ++} ++ ++ ++size_t System::memoryUsedByProcess() ++{ ++ struct rusage r; ++ if (getrusage(RUSAGE_SELF, &r) != -1) ++ return r.ru_maxrss; ++ else ++ return 0; ++} ++ + #else + // LINUX, NOT MAC OS + long long System::physicalMemory() +@@ -389,6 +430,19 @@ size_t System::memoryInFreelistOfMalloc( + { + return mstats().chunks_free; + } ++ ++#elif defined(OGDF_SYSTEM_FREEBSD) ++ ++size_t System::memoryAllocatedByMalloc() ++{ ++ return 0; ++} ++ ++size_t System::memoryInFreelistOfMalloc() ++{ ++ return 0; ++} ++ + #else + + size_t System::memoryAllocatedByMalloc() |