aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_db_util.c
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2018-12-21 10:36:08 +0100
committerLukas Larsson <[email protected]>2019-01-15 16:34:17 +0100
commit2a46ca2dbe1410c1e7ce057051cdb65526a87485 (patch)
treeb70599675ba75af22433a5a4fa61eafad22d94de /erts/emulator/beam/erl_db_util.c
parent5f5d0b3dd311ef16b7c6cc61d575cd7e5eccc291 (diff)
downloadotp-2a46ca2dbe1410c1e7ce057051cdb65526a87485.tar.gz
otp-2a46ca2dbe1410c1e7ce057051cdb65526a87485.tar.bz2
otp-2a46ca2dbe1410c1e7ce057051cdb65526a87485.zip
erts: Make sure to take main lock when dumping proc info
If the main lock is not taken then any process running on a dirty scheduler may cause all kinds of problems.
Diffstat (limited to 'erts/emulator/beam/erl_db_util.c')
-rw-r--r--erts/emulator/beam/erl_db_util.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_db_util.c b/erts/emulator/beam/erl_db_util.c
index f1d47326b4..e2c029c244 100644
--- a/erts/emulator/beam/erl_db_util.c
+++ b/erts/emulator/beam/erl_db_util.c
@@ -2470,7 +2470,7 @@ restart:
case matchProcessDump: {
erts_dsprintf_buf_t *dsbufp = erts_create_tmp_dsbuf(0);
ASSERT(c_p == self);
- print_process_info(ERTS_PRINT_DSBUF, (void *) dsbufp, c_p);
+ print_process_info(ERTS_PRINT_DSBUF, (void *) dsbufp, c_p, ERTS_PROC_LOCK_MAIN);
*esp++ = new_binary(build_proc, (byte *)dsbufp->str,
dsbufp->str_len);
erts_destroy_tmp_dsbuf(dsbufp);