aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2016-08-19 14:30:52 +0200
committerSverker Eriksson <[email protected]>2016-08-19 14:30:52 +0200
commit74eea0fbb2cb5d0bb211dad19891d2aae31e170d (patch)
treecf599434e94471c94b49196758fff1462e542996 /erts/emulator
parent2757590a9d7e092dcbaf15c15354f7ccd0154219 (diff)
parentaa12cfd7a35434f6da89b5c3aaafdc99189f5a98 (diff)
downloadotp-74eea0fbb2cb5d0bb211dad19891d2aae31e170d.tar.gz
otp-74eea0fbb2cb5d0bb211dad19891d2aae31e170d.tar.bz2
otp-74eea0fbb2cb5d0bb211dad19891d2aae31e170d.zip
Merge branch 'sverker/net_kernel-setopts/OTP-13564' into maint
Diffstat (limited to 'erts/emulator')
-rw-r--r--erts/emulator/beam/erl_bif_info.c7
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 3fb866733c..6cedf3c8a5 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);