diff options
author | Nick Mathewson <nickm@torproject.org> | 2019-01-16 14:43:53 -0500 |
---|---|---|
committer | Nick Mathewson <nickm@torproject.org> | 2019-01-16 14:43:53 -0500 |
commit | 16430fdaf546cf8a2711a4c87380398bd4358d54 (patch) | |
tree | 76847ee4f6f0750b8bc357e70cbd358707e2db1e | |
parent | 2f683465d4b666c5d8f84fb3b234ad539d8511cd (diff) | |
parent | f0408b844ffe2545c33306cb04b03fff8148989f (diff) | |
download | tor-16430fdaf546cf8a2711a4c87380398bd4358d54.tar.gz tor-16430fdaf546cf8a2711a4c87380398bd4358d54.zip |
Merge branch 'maint-0.3.5'
-rw-r--r-- | changes/bug28981 | 5 | ||||
-rw-r--r-- | src/lib/meminfo/meminfo.c | 6 |
2 files changed, 8 insertions, 3 deletions
diff --git a/changes/bug28981 b/changes/bug28981 new file mode 100644 index 0000000000..c0ea92ab35 --- /dev/null +++ b/changes/bug28981 @@ -0,0 +1,5 @@ + o Minor bugfixes (misc): + - The amount of total available physical memory is now determined + using the sysctl identifier HW_PHYSMEM (rather than HW_USERMEM) + when it is defined and a 64-bit variant is not available. Fixes + bug 28981; bugfix on 0.2.5.4-alpha. Patch from Kris Katterjohn. diff --git a/src/lib/meminfo/meminfo.c b/src/lib/meminfo/meminfo.c index 790d698910..f233188897 100644 --- a/src/lib/meminfo/meminfo.c +++ b/src/lib/meminfo/meminfo.c @@ -60,7 +60,7 @@ tor_log_mallinfo(int severity) ENABLE_GCC_WARNING(aggregate-return) #if defined(HW_PHYSMEM64) -/* This appears to be an OpenBSD thing */ +/* OpenBSD and NetBSD define this */ #define INT64_HW_MEM HW_PHYSMEM64 #elif defined(HW_MEMSIZE) /* OSX defines this one */ @@ -115,7 +115,7 @@ get_total_system_memory_impl(void) return ms.ullTotalPhys; #elif defined(HAVE_SYSCTL) && defined(INT64_HW_MEM) - /* On many systems, HW_PYHSMEM is clipped to 32 bits; let's use a better + /* On many systems, HW_PHYSMEM is clipped to 32 bits; let's use a better * variant if we know about it. */ uint64_t memsize = 0; size_t len = sizeof(memsize); @@ -130,7 +130,7 @@ get_total_system_memory_impl(void) * HW_PHYSMEM. */ size_t memsize=0; size_t len = sizeof(memsize); - int mib[2] = {CTL_HW, HW_USERMEM}; + int mib[2] = {CTL_HW, HW_PHYSMEM}; if (sysctl(mib,2,&memsize,&len,NULL,0)) return 0; |