aboutsummaryrefslogtreecommitdiffstats
path: root/erts/lib_src
diff options
context:
space:
mode:
authorPatrik Nyblom <[email protected]>2010-10-07 12:18:40 +0200
committerPatrik Nyblom <[email protected]>2010-10-07 12:18:40 +0200
commitf538ae0a22dabe5f5b0e40e0660aeaea0f5c0768 (patch)
treed28d88d91769c6f25ae4788505ccad6af6237eaf /erts/lib_src
parentb4a8bc73a9adf3db50a29feb53b64b65ba88c3a2 (diff)
parent3ffb56672f9b51c5e1080c53b62a3e60983dfdfc (diff)
downloadotp-f538ae0a22dabe5f5b0e40e0660aeaea0f5c0768.tar.gz
otp-f538ae0a22dabe5f5b0e40e0660aeaea0f5c0768.tar.bz2
otp-f538ae0a22dabe5f5b0e40e0660aeaea0f5c0768.zip
Merge branch 'maint-r14' into dev
Conflicts: erts/vsn.mk
Diffstat (limited to 'erts/lib_src')
-rw-r--r--erts/lib_src/common/erl_misc_utils.c15
1 files changed, 10 insertions, 5 deletions
diff --git a/erts/lib_src/common/erl_misc_utils.c b/erts/lib_src/common/erl_misc_utils.c
index 116c9886d8..498ce6837a 100644
--- a/erts/lib_src/common/erl_misc_utils.c
+++ b/erts/lib_src/common/erl_misc_utils.c
@@ -1228,7 +1228,10 @@ read_topology(erts_cpu_info_t *cpuinfo)
nodes++;
}
- core_id = malloc(sizeof(int)*(packages ? packages : 1));
+ if (!packages) {
+ packages = 1;
+ }
+ core_id = malloc(sizeof(int)*packages);
if (!core_id) {
res = -ENOMEM;
goto error;
@@ -1286,11 +1289,13 @@ read_topology(erts_cpu_info_t *cpuinfo)
* Nodes and packages may not be supported; pretend
* that there are one if this is the case...
*/
- if (!nodes)
- cpuinfo->topology[l].node = 0;
- if (!packages)
- cpuinfo->topology[l].processor = 0;
if (slpip[rix].ProcessorMask & (((ULONG_PTR) 1) << l)) {
+ if (!nodes) {
+ cpuinfo->topology[l].node = 0;
+ }
+ if (!packages) {
+ cpuinfo->topology[l].processor = 0;
+ }
if (processor < 0) {
processor = cpuinfo->topology[l].processor;
if (processor < 0) {