diff options
author | Sverker Eriksson <[email protected]> | 2016-08-19 14:33:26 +0200 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2016-08-19 14:33:26 +0200 |
commit | 04e925591e26c25fcdf8185324664135378f9291 (patch) | |
tree | 8e2be7ddb6d2a7daba1355862d984d7b76a00f6d /erts/emulator | |
parent | 2bb55f7bb6c8aa534d84087da18736e431bb482b (diff) | |
parent | 74eea0fbb2cb5d0bb211dad19891d2aae31e170d (diff) | |
download | otp-04e925591e26c25fcdf8185324664135378f9291.tar.gz otp-04e925591e26c25fcdf8185324664135378f9291.tar.bz2 otp-04e925591e26c25fcdf8185324664135378f9291.zip |
Merge branch 'maint'
Diffstat (limited to 'erts/emulator')
-rw-r--r-- | erts/emulator/beam/erl_bif_info.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/erts/emulator/beam/erl_bif_info.c b/erts/emulator/beam/erl_bif_info.c index e5d3f38ce4..cb7278696f 100644 --- a/erts/emulator/beam/erl_bif_info.c +++ b/erts/emulator/beam/erl_bif_info.c @@ -2284,9 +2284,7 @@ BIF_RETTYPE system_info_1(BIF_ALIST_1) } else if (ERTS_IS_ATOM_STR("dist_ctrl", BIF_ARG_1)) { DistEntry *dep; i = 0; - /* Need to be the only thread running... */ - erts_smp_proc_unlock(BIF_P, ERTS_PROC_LOCK_MAIN); - erts_smp_thr_progress_block(); + erts_smp_rwmtx_rlock(&erts_dist_table_rwmtx); for (dep = erts_visible_dist_entries; dep; dep = dep->next) ++i; for (dep = erts_hidden_dist_entries; dep; dep = dep->next) @@ -2309,8 +2307,7 @@ BIF_RETTYPE system_info_1(BIF_ALIST_1) res = CONS(hp, tpl, res); hp += 2; } - erts_smp_thr_progress_unblock(); - erts_smp_proc_lock(BIF_P, ERTS_PROC_LOCK_MAIN); + erts_smp_rwmtx_runlock(&erts_dist_table_rwmtx); BIF_RET(res); } else if (BIF_ARG_1 == am_system_version) { erts_dsprintf_buf_t *dsbufp = erts_create_tmp_dsbuf(0); |